编写程序,从键盘输入一个3行3列的二维数组,交换两条对角线的值,输出交换后的二维数组
时间: 2024-05-12 17:17:39 浏览: 11
好的,这是一个数组交换问题,以下是对角线交换的程序实现:
```
#include <stdio.h>
int main()
{
int array[3][3];
int temp;
// 输入一组3x3的二维数组
printf("请输入一个3行3列的二维数组:\n");
for(int i=0;i<3;i++){
for(int j=0;j<3;j++){
scanf("%d",&array[i][j]);
}
}
// 交换数组对角线的值
for(int i=0;i<3;i++){
temp = array[i][i];
array[i][i] = array[i][2-i];
array[i][2-i] = temp;
}
// 输出交换后的数组
printf("交换后的二维数组为:\n");
for(int i=0;i<3;i++){
for(int j=0;j<3;j++){
printf("%d ",array[i][j]);
}
printf("\n");
}
return 0;
}
```
执行结果:
```
请输入一个3行3列的二维数组:
1 2 3
4 5 6
7 8 9
交换后的二维数组为:
3 2 1
4 5 6
9 8 7
```
希望这能帮助到您!
相关问题
用c语言生成一个3行3列的二维数组,交换两条对角线的值并输出
Okay, 让我来帮您解决这个问题吧!以下是生成一个3行3列的二维数组,交换两条对角线的值并输出的 C 语言代码:
```c
#include <stdio.h>
int main(){
int arr[3][3] = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} };
int i, j, tmp;
// 交换两条对角线的值
for(i = 0; i < 3; i++){
tmp = arr[i][i];
arr[i][i] = arr[i][2-i];
arr[i][2-i] = tmp;
}
// 输出交换后的二维数组
for(i = 0; i < 3; i++){
for(j = 0; j < 3; j++){
printf("%d ", arr[i][j]);
}
printf("\n");
}
return 0;
}
```
以上代码将首先生成一个3行3列的二维数组,然后通过循环来交换数组中对角线上的值,并最后输出交换后的数组。希望这个代码对您有帮助!
从键盘输入九个数列到三行三列的二维数组中,并输出数组对角线以下的元素
好的,以下是代码实现:
```python
# 创建一个3行3列的二维数组
arr = [[0]*3 for i in range(3)]
# 从键盘输入九个数,并存入二维数组
for i in range(3):
for j in range(3):
arr[i][j] = int(input("请输入第%d行第%d列的数字:" % (i+1, j+1)))
# 输出对角线以下的元素
for i in range(3):
for j in range(i+1):
print(arr[i][j], end=' ')
print()
```
运行结果:
```
请输入第1行第1列的数字:1
请输入第1行第2列的数字:2
请输入第1行第3列的数字:3
请输入第2行第1列的数字:4
请输入第2行第2列的数字:5
请输入第2行第3列的数字:6
请输入第3行第1列的数字:7
请输入第3行第2列的数字:8
请输入第3行第3列的数字:9
1
4 5
7 8 9
```
以上代码中,我们首先创建一个3行3列的二维数组 `arr`,然后使用两个 for 循环依次读入九个数值,并存入数组中。最后使用两个 for 循环输出对角线以下的元素,其中外层循环控制行数,内层循环控制列数,只输出对角线以下的元素即可。