编写一个C语言程序,计算5×5的矩阵的主对角线之和与次对角线之和并
编写一个C语言程序,计算5×5的矩阵的主对角线之和与次对角线之和并且输出此矩阵中的最大值和最小值。要求输出矩阵,并且输出最后结果。例如:矩阵为:其主对角线...
编写一个C语言程序,计算5×5的矩阵的主对角线之和与次对角线之和并且输出此矩阵中的最大值和最小值。要求输出矩阵,并且输出最后结果。
例如:
矩阵为:

其主对角线之和为60,次对角线之和为60,最大值为24,最小值为0. 展开
例如:
矩阵为:

其主对角线之和为60,次对角线之和为60,最大值为24,最小值为0. 展开
2个回答
展开全部
#include <stdio.h>
#define LEN 50 /*数组长度*/
/*录入矩阵内容*/
void inputMatrix (int matrix[LEN][LEN], int row, int col) {
int i,j;
printf ("请输入%d行%d列的矩阵:\n", row, col);
for (i=0; i<row; i++) {
printf ("第%d行:", i+1);
for (j=0; j<col; j++) {
scanf ("%d", &matrix[i][j]);
}
}
putchar ('\n');
return 1;
}
/*打印矩阵内容*/
int printMatrix (int matrix[LEN][LEN], int row, int col) {
int i,j;
for (i=0; i<row; i++) {
for (j=0; j<col; j++) {
printf ("%d\t", matrix[i][j]);
}
putchar ('\n');
}
putchar ('\n');
return 1;
}
/*计算处理矩阵内容*/
int calcMatrix (int matrix[LEN][LEN], int row, int col) {
int mainDiagonalSum, diagonalSum, max, min;
int i,j;
if (row!=col) /*非正方形矩阵返回错误*/
return 0;
mainDiagonalSum = diagonalSum = 0;
max = min = matrix[0][0];
for (i=0; i<row; i++) {
for (j=0; j<col; j++) {
if (i==j) /*主对角线*/
mainDiagonalSum += matrix[i][j];
if (i+j==row-1) /*次对角线*/
diagonalSum += matrix[i][j];
if (matrix[i][j]>max) /*求最大值*/
max = matrix[i][j];
if (matrix[i][j]<min) /*求最小值*/
min = matrix[i][j];
}
}
printf ("主对角线之和:\t%d\n", mainDiagonalSum);
printf ("次对角线之和:\t%d\n", diagonalSum);
printf ("最大值:\t%d\n", max);
printf ("最小值:\t%d\n", min);
putchar ('\n');
return 1;
}
int main (void) {
int matrix[LEN][LEN], row, col;
row = col = 5; /*定义矩阵行列数*/
inputMatrix (matrix, row, col); /*录入矩阵内容*/
printMatrix (matrix, row, col); /*打印矩阵内容*/
calcMatrix (matrix, row, col); /*计算处理矩阵内容*/
return 0;
}
运行结果
为了简便,以下运行示意将矩阵设为3行3列,上方源代码为题主要求的5行5列
TableDI
2024-07-18 广告
2024-07-18 广告
当我们谈到Python与Excel的拆分时,通常指的是使用Python的库来读取Excel文件中的数据,然后根据某种逻辑(如按行、按列、按特定值等)将数据拆分成多个部分或输出到新的Excel文件中。上海悉息信息科技有限公司在处理这类任务时,...
点击进入详情页
本回答由TableDI提供
2017-08-03
展开全部
Harry pointed out the
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询