设计算法编写程序,定义、输入(或赋随机数)10行10列二维数组,按行列方式输出,求其两条对角线的元素之和。C语言代码
时间: 2024-03-19 17:41:13 浏览: 108
以下是实现上述要求的 C 语言代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define ROWS 10
#define COLS 10
int main() {
int matrix[ROWS][COLS];
int i, j, sum1 = 0, sum2 = 0;
// 随机生成矩阵
srand(time(NULL));
for (i = 0; i < ROWS; i++) {
for (j = 0; j < COLS; j++) {
matrix[i][j] = rand() % 10;
}
}
// 输出矩阵
printf("Matrix:\n");
for (i = 0; i < ROWS; i++) {
for (j = 0; j < COLS; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
// 计算两条对角线的元素之和
for (i = 0; i < ROWS; i++) {
sum1 += matrix[i][i];
sum2 += matrix[i][COLS - i - 1];
}
printf("Sum of diagonal 1: %d\n", sum1);
printf("Sum of diagonal 2: %d\n", sum2);
return 0;
}
```
代码中,首先使用 `srand` 函数结合当前时间设置随机数种子,随机生成一个 10 行 10 列的矩阵。接着按行列方式输出矩阵,并计算两条对角线的元素之和。最后输出结果。
阅读全文