急!!c的题目!!做好加20分!!首先对一个3*3的实数矩阵所有元素的输入...

2024-12-15 02:56:59
推荐回答(3个)
回答1:

/*首先对一个3*3的实数矩阵所有元素的输入,再输出其两个对角线元素中各自的最大值.
将3*3举证的所有元素通过键盘输入赋值,然后求两个对角线中所有元素之和*/
#include
#include

int max(int x,int y)
{return x>y?x:y;}

void main()
{
int a[3][3],sum=0;
int i,j;
printf("输入9个实数:\n");
for(i=0;i<3;i++)
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
printf("对角线的2个最大值实数:\n");
printf("%d\n",max(max(a[0][0],a[1][1]),a[2][2]));
printf("%d\n",max(max(a[2][0],a[1][1]),a[0][2]));
for(i=0;i<3;i++)
for(j=0;j<3;j++)
{
if(i==j) sum+=a[i][j];
else if(i+j==2) sum+=a[i][j];
}
printf("对角线元素的和是%d\n",sum);

}

回答2:

#include "stdio.h"
#define N 3
main()
{
int i,j,a[N][N],max1,max2,sum=0;
for(i=0;i for(j=0;j scanf("%d",&a[i][j]);
for(i=0;i {for(j=0;j printf("%4d",a[i][j]);
printf("\n");
}
max1=a[0][0];
max2=a[0][N-1];
for(i=0;i for(j=0;j {if(i==j)
{sum+=a[i][j];
if(max1 }
if(i+j==N-1)
{sum+=a[i][j];
if(max2 }
}
sum-=a[N/2][N/2];
printf("第一条对角线最大值:%d\n",max1);
printf("第二条对角线最大值:%d\n",max2);
printf("两条对角线总和:%d\n",sum);
}

回答3:

#include
void main( )
{ int a[3][3];
int i,j,max1,max2,sum=0;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
max1=a[0][0];max2=a[2][0];
for(i=0;i<3;i++)
for(j=0;j<3;j++)
{
if(i==j)
if(max1 max1=a[i][j];
else if(i+j==2)
if(max2 max2=a[i][j];
}
printf("%d %d\n",max1,max2);
for(i=0;i<3;i++)
for(j=0;j<3;j++)
{
if(i==j||i+j==2)
sum+=a[i][j];}
printf("%d\n",sum);
}