原题链接:[编程入门]自定义函数之数字后移
解题思路:
1:把a[] 中要转移的m个数存入另一个数组 b[];
2:a[] 从末尾依次等于前一个数,移动N-m次;
3:把b[]中的数,放到a[]的前面;
4:输出a[];
参考代码:
#include <stdio.h>
#include <malloc.h>
int main()
{
int *a = NULL;
int *b = NULL;
int N;
scanf( "%d", &N ); //输入N
a = (int *) malloc( N * sizeof(int) ); //开辟空间存N个数
for ( int i = 0; i < N; i++ ) //输入N个数
scanf( "%d", &a[i] );
int m;
scanf( "%d", &m ); //输入转移个数m
b = (int *) malloc( m * sizeof(int) ); //开辟空间存转移数
for ( int i = 0; i < m; i++ ) //把a[] 中要转移的m个数存入另一个数组 b[];
{
b[i] = a[N - m]; N++;
}
for ( int j = 9; j >= m; j-- ) //a[] 从末尾依次等于前一个数,移动N-m次;
a[j] = a[j - m];
for ( int i = 0; i < m; i++ ) //把b[]中的数,放到a[]的前面;
a[i] = b[i];
for ( int i = 0; i < 10; i++ ) //输出a[];
printf( "%d ", a[i] );
return (0);
}别忘点赞哦-.-
0.0分
34 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
#include<stdio.h> void move(int a[],int n) { int m; for (int i = 0; i < n; i++) { scanf("%d", &a[i]); } scanf("%d", &m); for (int i = 0; i <= 9; i++) { int d = i; int c = i+1; if (i + m >= 10) { d -= 10; } a[d+m] = c; } for (int i = 0; i < n; i++) { printf("%d ", a[i]); } } int main() { int n; scanf("%d", &n); int a[50]; move(a,n); }#include<stdio.h> void reverse(int a[],int from,int to) { int i,t; for(i=0;i<(to-from+1)/2;i++) { t=a[from+i]; a[from+i]=a[to-i]; a[to-i]=t; } } int main() { int n,m,i; scanf("%d",&n); int a[n]; for(i=0;i<n;i++) { scanf("%d",&a[i]); } scanf("%d",&m); reverse(a,0,n-m-1); reverse(a,n-m,n-1); reverse(a,0,n-1); for(i=0;i<n;i++) { printf("%d ",a[i]); } return 0; }#include <stdio.h> void fun(int a[], int b[], int n, int key) { int i; for (i = 0; i < key; i++) { b[i] = a[n - key + i]; } for (i = key; i < n; i++) { b[i] = a[i - key]; } } int main(void) { int i, n, key; int a[100], b[100]; scanf("%d", &n); for (i = 0; i < n; i++) scanf("%d", &a[i]); scanf("%d", &key); fun(a,b,n,key); for (i = 0; i < n; i++) printf("%d ", b[i]); return 0; }#include <stdio.h> int main() { int n,m; scanf("%d",&n); int a[n]; for(int i=0;i<n;i++) { scanf("%d",&a[i]); } scanf("%d",&m); for(int i=0;i<n;i++) { if(i<m){ printf("%d ",a[n-(m-i)]); }else{ printf("%d ",a[i-m]); } } return 0; }#include<stdio.h> #include<stdlib.h> void Tiao_Zheng(int *ShuZu, int Wei, int YiWei); int main() { int *ShuZu, Wei, YiWei; scanf("%d", &Wei); ShuZu = (int *)calloc(Wei,sizeof(int)); for (int i = 0;i < Wei;i++) { scanf("%d", &ShuZu[i]); } scanf("%d", &YiWei); Tiao_Zheng(ShuZu, Wei, YiWei); } void Tiao_Zheng(int *ShuZu, int Wei, int YiWei) { for (int i = Wei - YiWei;i < Wei;i++) { printf("%d ", *(ShuZu + i)); } for (int i = 0;i < Wei - YiWei;i++) { printf("%d ", *(ShuZu + i)); } }