解题思路:
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 人评分
C语言程序设计教程(第三版)课后习题9.6 (C语言代码)浏览:577 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:732 |
C语言程序设计教程(第三版)课后习题5.7 (C++代码)浏览:855 |
【密码】 (C语言代码)浏览:333 |
简单的a+b (C语言代码)浏览:573 |
简单的a+b (C语言代码)浏览:817 |
Hello, world! (C++代码)浏览:1745 |
循环入门练习6 (C语言代码)浏览:970 |
1050题解(结构体数组与结构体指针的使用)浏览:1111 |
The 3n + 1 problem (C语言代码)浏览:505 |