实例1

简介: 实例1.

有 n 个整数,使其前面各数顺序向后移 m 个位置,最后m个数变成最前面的 m 个数。
程序分析:可以使用一个辅助数组来保存需要移动的元素,然后再将元素按照要求移动到正确的位置。
实例1

include

// 通过 shiftArray 函数来实现数组元素的移动。
void shiftArray(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 个数向后移动 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];
}

}
// 在 main 函数中获取用户输入的数组和要移动的位置,调用s hiftArray 函数,最后输出移动后的数组

int main() {
int n, m;

printf("请输入整数个数 n:");
scanf("%d", &n);

printf("请输入向后移动的位置 m:");
scanf("%d", &m);

int arr[n];

printf("请输入 %d 个整数:", n);
for (int i = 0; i < n; i++) {
    scanf("%d", &arr[i]);
}

shiftArray(arr, n, m);

printf("移动后的数组:");
for (int i = 0; i < n; i++) {
    printf("%d ", arr[i]);
}
printf("\n");

return 0;

}

相关文章
|
6月前
|
C语言
C 练习实例7
C 练习实例7.
47 4
|
6月前
C实例1
C实例1。
32 3
|
6月前
C 练习实例8
C 练习实例8。
440 27
|
6月前
|
机器学习/深度学习
C 练习实例3
C 练习实例3。
58 7
|
6月前
C 练习实例2
程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成双精度浮点(double)型。
47 1
|
6月前
C 练习实例1
C 练习实例1
46 1
|
9天前
|
Python
实例
实例。
16 3
|
6月前
|
机器学习/深度学习 网络协议 Windows
C 练习实例18
C 练习实例18。
30 1
|
6月前
C 练习实例17
C 练习实例17
33 1
|
6月前
C 实例2
C 实例2。
32 3