结果不对啊
main()
{ int n;
int i;
int j;
int count;
int sum;
int id;
int a[4][4],b[4][4],d[4][4];
printf(" cifang n\n");
scanf("%d",n);
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
scanf("%d",&a[i][j]);
d[i][j]=a[i][j];
}
for(i=0;i<4;i++)
{ printf("\n");
for(j=0;j<4;j++)
printf("%d",a[i][j]);
}
printf("\n\n");
for(count=0;count<n;count++)
{
for(i=0;i<4;i++)
{ for(j=0;j<4;j++)
b[i][j]=d[i][j];
}
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
sum=0;
for(id=0;id<4;id++)
sum+=a[id][j]*b[i][id];
d[i][j]=sum;
}
}
}
for(i=0;i<4;i++)
for(j=0;j<4;j++)
printf("d[%d][%d]=%d\n",i,j,d[i][j]);
}
结果不对啊
改了一下,应该没问题了.
#include <stdio.h>
void main()
{ int n;
int i;
int j;
int count;
int sum;
int id;
int a[4][4],b[4][4],d[4][4];
printf(" cifang n\n");
scanf("%d",&n);
printf(" input 4 jie ju zheng:\n");
for(i=0;i<4;i++)
for(j=0;j<4;j++)
{
scanf("%d",&a[i][j]);
d[i][j]=a[i][j];
}
for(i=0;i<4;i++)
{
printf("\n");
for(j=0;j<4;j++)
printf("%d",a[i][j]);
}
printf("\n\n");
for( count = 1; count < n; count++)
{
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
b[i][j]=d[i][j];
}
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
sum = 0;
for(id=0;id<4;id++)
sum += b[i][id] * a[id][j];
d[i][j]=sum;
}
}
}
printf(" the result is: \n");
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
printf("%d ",d[i][j]);
printf("\n");
}
}