跟同学探讨了一个晚上,不知道怎么修改,希望能快速解决
#include<stdio.h>#define maxsize 100
#define n 4
void main()
{
int a,b,c;
value1(a);
value2(b);
mult(a,b,c);
disp(c);
}
void value1(int a[n][n]) /*矩阵a的输入*/
{
int i,k;
printf("please input a[i][k]=\n");
for(i=0;i<n;i++)
{
for(k=0;k<n;k++)
{
printf("a[%d][%d]=",i,k,a[i][k]);
scanf("%d",&a[i][k]);
}
}
}
void value2(int b[n][n])/*矩阵b的输入*/
{
int k,j;
printf("please input b[k][j]=\n");
for(k=0;k<n;k++)
{
for(j=0;j<n;j++)
{
printf("b[%d][%d]=",k,j,b[k][j]);
scanf("%d",&b[k][j]);
}
}
}
void mult(int a[][],int b[][],int c[][])/*矩阵求积操作*/
{
int i,j,s,k;
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
s=0;
for(k=0;k<n;k++)
s+=value1(a,i,k)*value2(b,k,j);
c[i][j]=s;
}
}
}
void disp(int c[n][n])/*矩阵输出*/
{
int i,j;
printf("矩阵相乘后的结果为:\n");
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
printf("c[%d][%d]=%d ",i,j,c[i][j]);
printf("\n");
}
}
}
矩阵编译有很多错误,就是希望知道错在哪了