用c语言编码。编程将二维数组中每一列右移。最右边一列移至最左边。(假设二维数组不超过10*10) 要求:不能直接输出,要改动数据在二维数组中的存储位置。 ***输入提示: "请输入行数:" "请输入列数:" "请输入%d*%d个数据:\n" ***输入格式:"%d" ***输出提示: "结果是 :\n" ***输出格式: "%6d"
时间: 2023-08-03 12:05:04 浏览: 79
好的,以下是C语言的代码实现:
```c
#include <stdio.h>
#define MAX_SIZE 10
int main() {
int m, n;
int a[MAX_SIZE][MAX_SIZE];
int i, j, temp;
printf("请输入行数:");
scanf("%d", &m);
printf("请输入列数:");
scanf("%d", &n);
printf("请输入%d*%d个数据:\n", m, n);
// 读入二维数组
for (i = 0; i < m; i++) {
for (j = 0; j < n; j++) {
scanf("%d", &a[i][j]);
}
}
// 右移每一列
for (j = n - 1; j > 0; j--) {
for (i = 0; i < m; i++) {
temp = a[i][j];
a[i][j] = a[i][j-1];
a[i][j-1] = temp;
}
}
printf("结果是:\n");
// 输出二维数组
for (i = 0; i < m; i++) {
for (j = 0; j < n; j++) {
printf("%6d", a[i][j]);
}
printf("\n");
}
return 0;
}
```
实现思路为先读入二维数组,再对每一列进行右移操作,最后输出移动后的结果。
阅读全文