7.设计算法编写程序,定义、输入(或赋随机数)10行10列二维数组,按行列方式输出,求其两条对角线的元素之和。用C语言编写
时间: 2024-03-17 20:46:00 浏览: 134
二维数组排序
好的,以下是 C 语言的实现:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define ROW 10
#define COL 10
int main() {
int arr[ROW][COL]; // 存储二维数组
int sum1 = 0; // 存储主对角线的元素之和
int sum2 = 0; // 存储副对角线的元素之和
// 初始化二维数组,赋随机数
srand((unsigned)time(NULL)); // 初始化随机数种子
for (int i = 0; i < ROW; i++) {
for (int j = 0; j < COL; j++) {
arr[i][j] = rand() % 100; // 生成0-99之间的随机数
}
}
// 输出二维数组,按行列方式输出
printf("按行列方式输出二维数组:\n");
for (int i = 0; i < ROW; i++) {
for (int j = 0; j < COL; j++) {
printf("%d\t", arr[i][j]);
}
printf("\n");
}
// 计算对角线的元素之和
for (int i = 0; i < ROW; i++) {
sum1 += arr[i][i]; // 累加主对角线的元素
sum2 += arr[i][ROW-i-1]; // 累加副对角线的元素
}
printf("主对角线的元素之和为:%d\n", sum1);
printf("副对角线的元素之和为:%d\n", sum2);
return 0;
}
```
程序的思路是:定义一个 10 行 10 列的二维数组,赋随机数。然后按行列方式输出二维数组,并计算两条对角线的元素之和。其中,主对角线的元素的行下标和列下标相等,副对角线的元素的行下标和列下标之和等于 ROW-1。
阅读全文