需要注意的地方就是数组下标的位置,最好打个草稿。
参考代码如下:
#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语言考试练习题_排列 (C语言代码)浏览:1375 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:582 |
C语言训练-求s=a+aa+aaa+aaaa+aa...a的值 (C语言代码)浏览:1087 |
C语言训练-素数问题 (C语言代码)浏览:1073 |
WU-图形输出 (C++代码)浏览:837 |
C语言程序设计教程(第三版)课后习题8.3 (C语言代码)浏览:1110 |
WU-判定字符位置 (C++代码)浏览:1471 |
C语言程序设计教程(第三版)课后习题8.8 (C语言代码)浏览:897 |
【计算球体积】 (C语言代码)浏览:1159 |
星期判断机 (C语言代码)浏览:895 |