讲什么语言的人最多:利用函数计算一个5*5矩阵的主对角线元素之和,在主函数中输出矩阵以及主对角线元素之和

来源:百度文库 编辑:神马品牌网 时间:2024/05/07 19:47:46

// zd_40.cpp : Defines the entry point for the console application.
//

#include <stdio.h>

int main(int argc, char* argv[])
{
int i,j;
int sum=0;
int matrix[5][5]={0};
printf("请输入一个5×5矩阵:\n");
for(i=0;i<5;i++)
for(j=0;j<5;j++)
{
scanf("%d",&matrix[i][j]);
if(i==j)
sum=sum+matrix[i][j];
if(j==4)
printf("\n");
}
printf("对角线之和为:%d\n",sum);
for(i=0;i<5;i++)
for(j=0;j<5;j++)
{
printf("%d ",matrix[i][j]);
if(j==4)
printf("\n");
}

return 0;
}

运行结果:
请输入一个5×5矩阵:
1
2
3
4
5

6
7
8
9
0

1
2
3
4
5

6
7
8
9
0

1
2
3
4
5

对角线之和为:25
1 2 3 4 5
6 7 8 9 0
1 2 3 4 5
6 7 8 9 0
1 2 3 4 5
Press any key to continue

C语言吗?可以用数组做,我就简单得写一下

输出矩阵:
for(i=1;i<=5;i++){
for(j=1;j<=5;j++){
printf("%5d", a[i][j]);
}
printf("\n");
}

主对角线元素之和:
for(i=1,s=0;i<=5;i++){
s=s+a[i][i];
}

int getresult(int num[5][5])
{
return num[0][0]+num[1][1]+num[2][2]+num[3][3]+num[4][4];
}
void main()
{
int i,j;
int result;
int num[5][5]={{1,2,3,4,5},{6,7,8,9,10},{11,12,13,14,15},{16,17,18,19,20},{21,22,23,24,25}};
result=getresult(num);
for(i=0;i<=4;i++)
{
for(j=0;j<=4;j++)
printf("%d\t",num[i][j]);
printf("\n");
}
printf("The result is:%d\n",result);
}
已经我的电脑上编译通过.

#include "stdio.h"

int sum(int (*matrix)[5])
{
int s=0;
for(int i=0;i<5;i++)
{
s+=*(*(matrix+i)+i);
}
return s;
}

void main()
{
int matrix[5][5]={{1,2,3,4,5},
{6,7,8,9,10},
{11,12,13,14,15},
{16,17,18,19,20},
{21,22,23,24,25}};
int i,j;
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
{
printf("%5d", matrix[i][j]);
}
printf("\n");
}

printf("%d\n",sum(matrix));
}