用c语言写出下列代码12.将3*3的二维数组中的值初始化为"0",并遍历这个二维数组(打印出3行3列的效果) 13.编写程序,计算3*3矩阵中主对角线上元素的和。 14.从键盘输入数据为一个4*3整型数组赋值,找出其中的最小值,并将该值和其所在的行号与列号输出。 15.输入一个3*3的矩阵,将其转置(行列交换)后输出。 1 1 1 0 0 0 1 0 2 tmp=arr[i][j] 2 2 2 0 0 1 0 2 0 arr[i][j]=arr[j][i] 3 3 3 arr[j][i]=tmp 1 2 3 1 2 3 1 2 3
时间: 2024-03-24 16:40:51 浏览: 29
12. 将3*3的二维数组中的值初始化为"0",并遍历这个二维数组(打印出3行3列的效果)
```c
#include <stdio.h>
int main()
{
int arr[3][3] = {0}; // 初始化为0
// 遍历数组并打印
for(int i = 0; i < 3; i++) {
for(int j = 0; j < 3; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
return 0;
}
```
13. 编写程序,计算3*3矩阵中主对角线上元素的和。
```c
#include <stdio.h>
int main()
{
int arr[3][3] = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} };
int sum = 0;
// 计算主对角线上的元素和
for(int i = 0; i < 3; i++) {
sum += arr[i][i];
}
printf("The sum of the main diagonal elements is %d.\n", sum);
return 0;
}
```
14. 从键盘输入数据为一个4*3整型数组赋值,找出其中的最小值,并将该值和其所在的行号与列号输出。
```c
#include <stdio.h>
int main()
{
int arr[4][3];
int min = arr[0][0], min_i = 0, min_j = 0;
// 从键盘输入数据并查找最小值
for(int i = 0; i < 4; i++) {
for(int j = 0; j < 3; j++) {
scanf("%d", &arr[i][j]);
if(arr[i][j] < min) {
min = arr[i][j];
min_i = i;
min_j = j;
}
}
}
printf("The smallest element is %d, located at (%d, %d).\n", min, min_i, min_j);
return 0;
}
```
15. 输入一个3*3的矩阵,将其转置(行列交换)后输出。
```c
#include <stdio.h>
int main()
{
int arr[3][3] = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} };
int tmp;
// 转置矩阵
for(int i = 0; i < 3; i++) {
for(int j = i + 1; j < 3; j++) {
tmp = arr[i][j];
arr[i][j] = arr[j][i];
arr[j][i] = tmp;
}
}
// 打印转置后的矩阵
for(int i = 0; i < 3; i++) {
for(int j = 0; j < 3; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
return 0;
}
```