解题思路:
注意事项:
参考代码:
#include <stdio.h> int main() { int n, m; // 输入数组大小和移动的位置 scanf("%d", &n); int a[100]; for (int i = 0; i < n; i++) { scanf("%d", &a[i]); } scanf("%d", &m); // 输出移动后的数组 for (int i = n - m; i < n; i++) { printf("%d ", a[i]); } for (int i = 0; i < n - m; i++) { printf("%d", a[i]); if (i < n - m - 1) { printf(" "); // 输出空格分隔,最后一个元素不需要空格 } } return 0; }
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> // 自定义函数,将数组的元素向后移动m个位置 void moveArray(int arr[], int n, int m) { int temp[m]; // 备份后面的m个元素 for (int i = n - m, j = 0; i < n; i++, j++) { temp[j] = arr[i]; } // 移动前面的n-m个元素 for (int i = n - m - 1; i >= 0; i--) { arr[i + m] = arr[i]; } // 恢复备份的元素 for (int i = 0; i < m; i++) { arr[i] = temp[i]; } } int main() { int n, m; scanf("%d", &n); int a[100]; for (int i = 0; i < n; i++) { scanf("%d", &a[i]); } scanf("%d", &m); // 调用自定义函数移动数组元素 moveArray(a, n, m); // 输出移动后的数组 for (int i = 0; i < n; i++) { printf("%d ", a[i]); } return 0; }
0.0分
1 人评分
C语言训练-求具有abcd=(ab+cd)2性质的四位数 (C语言代码)浏览:567 |
回文数(一) (C语言代码)浏览:750 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:1293 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:678 |
罗列完美数 (C语言代码)浏览:491 |
Tom数 (C语言代码)浏览:527 |
2003年秋浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:518 |
GC的苦恼 (C语言代码)浏览:621 |
一元一次方程 (C语言代码)浏览:4069 |
C语言程序设计教程(第三版)课后习题6.10 (C语言代码)浏览:512 |