编程c语言将二维数组中每一列右移。最右边一列移至最左边。(假设二维教组不超过10*10) 要求:不能直接输出,要改动数据在二维数组中的存储位置。 提示:先将最右边一个数据移至临时变量,其他数据全部右移一位。最后再把移出的数据放在最左边位置。 ***输入提示: ”请输入行数:” "请输入列数:” ”请输入%d*%d个数据:\n” ***输入格式:“%d” ***输出提示: “结果是:\n”***输出格式:“%6d”
时间: 2023-07-30 19:11:49 浏览: 351
好的,我知道了。以下是对应的 C 语言代码:
```c
#include <stdio.h>
int main()
{
int rows, cols;
printf("请输入行数:");
scanf("%d", &rows);
printf("请输入列数:");
scanf("%d", &cols);
int arr[10][10];
printf("请输入%d*%d个数据:\n", rows, cols);
for (int i = 0; i < rows; i++)
{
for (int j = 0; j < cols; j++)
{
scanf("%d", &arr[i][j]);
}
}
// 将每一列右移
for (int j = 0; j < cols; j++)
{
int temp = arr[rows - 1][j];
for (int i = rows - 1; i > 0; i--)
{
arr[i][j] = arr[i - 1][j];
}
arr[0][j] = temp;
}
printf("结果是:\n");
for (int i = 0; i < rows; i++)
{
for (int j = 0; j < cols; j++)
{
printf("%6d", arr[i][j]);
}
printf("\n");
}
return 0;
}
```
这个程序会先让用户输入行数和列数,然后根据用户输入的行列数创建一个二维数组。接着程序会让用户输入这个二维数组的所有元素。之后,程序会将每一列都右移一位,最右边的元素会移动到最左边的位置。最后,程序会输出移动后的二维数组。
阅读全文