解题思路:
a[10] = {1,2,3,4,5,6,7,8,9,10};
b[10];
通过输入的m判断需要移动几位数字
用10-m找到需要移动的数字,然后存入b数组
b[10] = {9,10};
再把a[0]-10-m之间数字存入b数组
b[10] = {9,10,1,2,3,4,5,6,7,8};
参考代码:
#include <stdio.h> void moive(int *a,int N,int *b){ int m,j=0; scanf("%d",&m); for(int i=N-m;i<N;i++){ b[j++] = a[i]; //存入需要移动的数组元素 } for(int i=0;i<N-m;i++){ b[j++] = a[i]; //存入不需要移动的数组元素 } } int main(){ int N; scanf("%d",&N); int a[N]; int b[N]; for(int i=0;i<N;i++){ scanf("%d",&a[i]); } moive(a,N,b); for(int i=0;i<10;i++){ printf("%d ",b[i]); } return 0; }
0.0分
1 人评分