求高手编写一个对我来说 超难!!的C语言题目,谢谢啦!!

题目二:(矩阵操作)
编程实现矩阵的基本操作
从键盘输入一个n×n 的矩阵,实现以下操作:
a) 查找该矩阵中最大值的位置,
b) 求该矩阵的对角线之积
c) 实现该矩阵的行列互换
d) 从键盘上再输入一个n×n的矩阵,求这两个矩阵的和
e) 编写main()函数用于测试以上4项功能。
注:以上a)~d)要求每项操作用函数实现其功能。

n是一个定值? 或者是一个要求输入的值?

#define n 2

void display(int a[n][n])
{
int i,j;
printf("\n");
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
printf("%d ",a[i][j]);
}
printf("\n");
}
}

void maxIndex(int a[n][n])
{
int i,j,I,J;
I=0;
J=0;
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
if(a[I][J]<a[i][j])
{
I=i;
J=j;
}
}
}
printf("max in array: a[%d][%d]=%d\n",I,J,a[I][J]);
}

int product(int a[n][n])
{
int i,p=1;
for(i=0;i<n;i++)
{
p*=a[i][i];
}
return p;
}

void trans(int a[n][n])
{
int i,j,t;
for(i=0;i<n;i++)
{
for(j=i+1;j<n;j++)
{
t=a[i][j];
a[i][j]=a[j][i];
a[j][i]=t;
}
}
}

void add(int a[n][n],int b[n][n],int sum[n][n])
{
int i,j,t;
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
sum[i][j]=a[i][j]+b[i][j];
}
}
}

void main()
{
int i,j,a[n][n],b[n][n],sum[n][n];
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
printf("please input a[%d][%d]:\n",i,j);
scanf("%d",&a[i][j]);
}
}

maxIndex(a);

printf("dui jiao xian cheng ji: %d\n", product(a));

display(a);
trans(a);
display(a);

for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
printf("please input b[%d][%d]:\n",i,j);
scanf("%d",&b[i][j]);
}
}
display(b);
add(a,b,sum);
display(sum);

printf("\npress any key to exit:\n");
getch();
}
温馨提示:答案为网友推荐,仅供参考
相似回答
大家正在搜