眉间雪原版伴奏:请教c编程

来源:百度文库 编辑:高考问答 时间:2024/04/30 00:25:33
该程序是把行列互换
fun(int b[4][4])
{ int i,j,t;
for(i=0;i<=2;i++)
for(j=i+1;j<=3;j++)
{t=b[i][j];b[i][j]=b[j][i];b[i][j]=t;}
}
main()
{ int i,j;
int a[4][4];
for(i=0;i<=3;i++)
for(j=0;j<=3;j++)
scanf("%d",&a[i][j]);
clrscr();
fun(a);
for(i=0;i<=3;i++)
{for(j=0;j<=3;j++)
printf("%d",a[i][j]);
printf("\n"); }
getche();
}
这个程序编译没错,运行不对。

fun(int b[4][4])
{ int i,j,t;
for(i=0;i<=3;i++) //i<=2 => i<=3
for(j=i+1;j<=3;j++)
{t=b[i][j];b[i][j]=b[j][i];b[j][i]=t;} //b[i][j]=t=>b[j][i]=t
}

子函数没把值返回

for(i=0;i<=3;i++)
for(j=0;j<=3;j++)
scanf("%d",&a[i][j]);
改为:
for(i=0;i<=3;i++)
{for(j=0;j<=3;j++)
scanf("%d",&a[i][j]);}
看看

楼上说的对

t=b[i][j];b[i][j]=b[j][i];b[j][i]=t;} //b[i][j]=t=>b[j][i]=t

for(i=0;i<=3;i++) //i<=2 => i<=3这个可以不改!