需要注意的地方就是数组下标的位置,最好打个草稿。
参考代码如下:
#include <stdio.h> //n为数组元素个数,m为需要移动的位数 void func(int array[], int n, int m) { int tmp[m]; int i; int j = 0; //1 先把原数组后面m位成员保存起来,存放到一个临时数组中 for (i = n - m; i < n; i++) { tmp[j++] = array[i]; } //2 把原数组的前面的成员向后移动m位,注意,要从最后一个元素开始移动 for (i = n - m - 1; i >= 0; i--) { array[i + m] = array[i]; } //3 把临时数组中的m个成员放进原数组中前m位 j = 0; for(i = 0; i < m; i++) { array[i] = tmp[j++]; } } int main() { int n; scanf("%d", &n); int array[n]; int i; for (i = 0; i < n; i++) scanf("%d", &array[i]); int m; scanf("%d", &m); func(array, n, m); for (i = 0; i < n; i++) printf("%d ", array[i]); return 0; }
0.0分
4 人评分
C语言程序设计教程(第三版)课后习题7.5 (C语言代码)浏览:546 |
【回文数(二)】 (C语言代码)浏览:857 |
C语言程序设计教程(第三版)课后习题8.6 (C语言代码)浏览:582 |
矩阵乘法 (C++代码)浏览:1461 |
C语言程序设计教程(第三版)课后习题7.1 (C语言代码)浏览:1229 |
1113题解浏览:790 |
1048题解(读入回车问题)浏览:566 |
C语言程序设计教程(第三版)课后习题12.6 (C语言代码)浏览:662 |
输入输出格式练习 (C语言代码)浏览:753 |
JAM计数法 (C语言代码)浏览:671 |