编写C语言程序,从键盘中输入一个三行三列的二维数组,交换两条对角线的值,输出交换后的二维数组
时间: 2024-06-10 10:07:10 浏览: 104
好的,这个问题可以回答。以下是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>
#include <limits.h>
int main() {
int arr[3][3];
int sum = 0;
int max_val = INT_MIN;
int min_val = INT_MAX;
int primary_diagonal_sum = 0;
int secondary_diagonal_sum = 0;
// 从键盘输入给二维数组赋值
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
scanf("%d", &arr[i][j]);
sum += arr[i][j];
if (arr[i][j] > max_val) {
max_val = arr[i][j];
}
if (arr[i][j] < min_val) {
min_val = arr[i][j];
}
if (i == j) {
primary_diagonal_sum += arr[i][j];
}
if (i + j == 2) {
secondary_diagonal_sum += arr[i][j];
}
}
}
// 输出结果
printf("所有元素和为:%d\n", sum);
printf("最大值为:%d\n", max_val);
printf("最小值为:%d\n", min_val);
printf("主对角线元素和为:%d\n", primary_diagonal_sum);
printf("次对角线元素和为:%d\n", secondary_diagonal_sum);
return 0;
}
```
这个程序定义了一个 `3x3` 的二维数组 `arr`,并通过循环从键盘输入给数组赋值。在循环中,我们也计算了数组的所有元素和、最大值、最小值、主对角线元素和和次对角线元素和。
最后,程序输出了这些计算结果。
阅读全文