编写C语言程序,从键盘中输入一个三行三列的二维数组,交换两条对角线的值,输出交换后的二维数组
时间: 2024-06-10 16:07:10 浏览: 123
好的,这个问题可以回答。以下是C语言程序的代码:
#include <stdio.h>
int main() {
int matrix[3][3];
// 从键盘输入二维数组
printf("请输入一个3行3列的二维数组:\n");
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
scanf("%d", &matrix[i][j]);
}
}
// 交换对角线上的两个元素
int temp = matrix[0][0];
matrix[0][0] = matrix[2][2];
matrix[2][2] = temp;
temp = matrix[0][2];
matrix[0][2] = matrix[2][0];
matrix[2][0] = temp;
// 输出交换后的二维数组
printf("交换后的二维数组为:\n");
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
return 0;
}
相关问题
用c语言从键盘输入九个数列到三行三列的二维数组中,并输出数组对角线以下的元素
可以按照以下步骤实现:
1. 定义一个3行3列的二维数组,用于存储输入的数列。
2. 使用循环结构,从键盘输入每个数列,并存储到对应的数组元素中。
3. 使用循环结构,输出数组对角线以下的元素。
具体实现代码如下:
```c
#include <stdio.h>
int main() {
int arr[3][3];
int i, j;
// 从键盘输入数列,存储到数组中
printf("请输入9个数字:\n");
for (i = 0; i < 3; i++) {
for (j = 0; j < 3; j++) {
scanf("%d", &arr[i][j]);
}
}
// 输出数组对角线以下的元素
printf("数组对角线以下的元素为:\n");
for (i = 1; i < 3; i++) {
for (j = 0; j < i; j++) {
printf("%d ", arr[i][j]);
}
}
printf("\n");
return 0;
}
```
运行程序后,可以依次输入9个数字,并输出数组对角线以下的元素。例如,输入数字1到9,输出结果如下:
```
请输入9个数字:
1 2 3 4 5 6 7 8 9
数组对角线以下的元素为:
4 7 8 5 6 9
```
求三行三列二维数组两条对角线之和c.语言
在C语言中,计算一个三行三列二维数组的两条对角线之和,你可以这样做:
```c
#include <stdio.h>
int main() {
int arr[3][3] = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} }; // 示例数组
int sum_main_diagonal = 0;
int sum_second_diagonal = 0;
// 计算主对角线元素之和
for (int i = 0; i < 3; i++) {
sum_main_diagonal += arr[i][i];
}
// 计算副对角线元素之和
for (int i = 0; i < 3; i++) {
sum_second_diagonal += arr[i][2 - i]; // 注意索引是从0开始的,所以第二行的第二个元素是arr[1][1]
}
printf("主对角线之和: %d\n", sum_main_diagonal);
printf("副对角线之和: %d\n", sum_second_diagonal);
return 0;
}
```
在这个程序里,我们首先初始化了一个3x3的二维数组`arr`。然后通过两层循环分别计算了主对角线(从左上到右下)和副对角线(从左下到右上)上的所有元素之和。
阅读全文
相关推荐















