用c语言编码。 编程用二维数组保存n*n的矩阵(n<10),并以矩阵的形式输出,同时计算出其对角线上(对角线包括主对角线和次对角线)所有元素的和(注意要去掉主副对角线重复累加的那一个数)、对角线元素的个数、与其元素总和的平均值。 要求如下:输入提示信息:"请输入矩阵的阶数:" 输入格式: "%d" 输入提示信息:"请输入%d阶矩阵\n" 输入格式:"%d" 二维数组输出格式:"%3d" 输出信息提示及格式:"该矩阵的对角线元素的总和为:%d\n" 输出信息提示及格式:"该矩阵的对角线元素的个数为:%d\n" 输出信息提示及格式:"该矩阵的对角线元素的平均值为:%.2lf\n"
时间: 2023-08-05 20:10:09 浏览: 106
好的,以下是C语言编写的程序代码:
```c
#include <stdio.h>
int main() {
int n; // 矩阵阶数
int matrix[10][10]; // 二维数组保存矩阵
int sum = 0; // 对角线元素总和
int count = 0; // 对角线元素个数
// 输入矩阵阶数
printf("请输入矩阵的阶数:");
scanf("%d", &n);
printf("请输入%d阶矩阵\n", n);
// 输入矩阵元素并输出矩阵
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
scanf("%d", &matrix[i][j]);
printf("%3d", matrix[i][j]);
}
printf("\n");
}
// 计算对角线元素总和、个数和平均值
for (int i = 0; i < n; i++) {
sum += matrix[i][i]; // 主对角线元素
if (i != n - 1 - i) { // 去掉重复的副对角线元素
sum += matrix[i][n - 1 - i];
count += 2;
} else {
count += 1;
}
}
double average = (double)sum / count;
// 输出对角线元素总和、个数和平均值
printf("该矩阵的对角线元素的总和为:%d\n", sum);
printf("该矩阵的对角线元素的个数为:%d\n", count);
printf("该矩阵的对角线元素的平均值为:%.2lf\n", average);
return 0;
}
```
程序运行结果示例:
```
请输入矩阵的阶数:4
请输入4阶矩阵
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
该矩阵的对角线元素的总和为:34
该矩阵的对角线元素的个数为:6
该矩阵的对角线元素的平均值为:5.67
```
阅读全文