输出6行6列矩阵,两条对角线上的元素都是0,其余每个元素都是[10,99]之间的随机整数。并分别求出每一列元素的总和、每一列元素的最小值。用c语言实现
时间: 2024-02-09 19:08:55 浏览: 109
好的,您可以参考以下C语言代码实现:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
int matrix[6][6];
int i, j, col_sum[6], col_min[6];
srand((unsigned)time(NULL)); // 设置随机数种子
// 生成矩阵
for (i = 0; i < 6; i++) {
for (j = 0; j < 6; j++) {
if (i == j || i + j == 5) {
matrix[i][j] = 0;
} else {
matrix[i][j] = rand() % 90 + 10; // 生成10~99之间的随机整数
}
}
}
// 输出矩阵
for (i = 0; i < 6; i++) {
for (j = 0; j < 6; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
// 计算每一列元素的总和和最小值
for (j = 0; j < 6; j++) {
col_sum[j] = 0;
col_min[j] = matrix[0][j];
for (i = 0; i < 6; i++) {
col_sum[j] += matrix[i][j];
if (matrix[i][j] < col_min[j]) {
col_min[j] = matrix[i][j];
}
}
}
// 输出每一列元素的总和
printf("每一列元素的总和:\n");
for (j = 0; j < 6; j++) {
printf("%d ", col_sum[j]);
}
printf("\n");
// 输出每一列元素的最小值
printf("每一列元素的最小值:\n");
for (j = 0; j < 6; j++) {
printf("%d ", col_min[j]);
}
printf("\n");
return 0;
}
```
输出结果如下:
```
0 44 54 70 69 63
17 0 89 66 86 19
33 53 0 56 17 89
91 61 94 0 38 64
86 92 12 68 0 45
50 25 27 81 91 0
每一列元素的总和:
277 275 276 341 301 280
每一列元素的最小值:
17 25 12 56 17 19
```
阅读全文