该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include
int main()
{
double a[2][2],b[2][2],c[2][2];
int n,i,j,t;
for(;;)
{
printf("矩阵A为一个二阶方阵,请输入A:\n");
for(i=0;i<=1;i++)
for(j=0;j<=1;j++)
scanf("%lf",&a[i][j]);
printf("矩阵B为矩阵A的n次方(n为非负数),请输入n:");
scanf("%d",&n);
printf("矩阵A为:\n");
for(i=0;i<=1;i++)
{
for(j=0;j<=1;j++)
{
printf("%15.0lf",a[i][j]);
}
printf("\n\n\n");
}
for(i=0;i<=1;i++)
for(j=0;j<=1;j++)
c[i][j]=a[i][j];
if(n==0)
for(i=0;i<=1;i++)
for(j=0;j<=1;j++)
b[i][j]=1;
else if(n==1)
for(i=0;i<=1;i++)
for(j=0;j<=1;j++)
b[i][j]=a[i][j];
else
{
for(t=1;t
{
for(i=0;i<=1;i++)
for(j=0;j<=1;j++)
b[i][j]=c[i][j];
for(i=0;i<=1;i++)
for(j=0;j<=1;j++)
c[i][j]=b[i][0]*a[0][j]+b[i][1]*a[1][j];
}
for(i=0;i<=1;i++)
for(j=0;j<=1;j++)
b[i][j]=c[i][j];
}
printf("\n矩阵B为:\n");
for(i=0;i<=1;i++)
{
for(j=0;j<=1;j++)
{
printf("%25.0lf",b[i][j]);
}
printf("\n\n\n");
}
printf("\n");
}
return 0;
}
(c语言交流群:251975693,欢迎所有学习c语言的同道们的加入,有了你们,我们更加精彩!)