男篮世界杯预选赛门票:谁能帮我看看这个C的程序哪错了,为什么运行不起来阿?#include<stdio.h>

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/30 01:10:33
#include<stdio.h>
main()
{
int num[3][3]={1,2,3,4,5,6,7,8,9};
int i=0,j=1;
while(j<=2)
{
int a;
a=num[i][j];
num[i][j]=num[j][i];
num[j][i]=a;
j++;
}
num[1][2]=num[2][1];
for(i=0;i<=2;i++)
for(j=0;j<=2;j++)
printf("%d",num[i][j]);
}



上面的同学建议讲究以下程序设计:
#include<stdio.h>
main()
{
int num[3][3]={1,2,3,4,5,6,7,8,9};
int i=0,j=0,a;
for(i=0;i<=2;i++)
{
for(j=0;j<=2;j++)
printf("%3d",num[i][j]);
printf("\n");
}
i=0;j=0;
while(j<=2)
{
a=num[i][j];
num[i][j]=num[j][i];
num[j][i]=a;
j++;
}
a=num[1][2];
num[1][2]=num[2][1];
num[2][1]=a;
for(i=0;i<=2;i++) {
for(j=0;j<=2;j++)
printf("%3d",num[i][j]);
printf("\n");
}
getch();
}
这样好看多了

看不出语法的问题!
单步调试,是哪一句出的问题 !

把你的程序改了一下。把如下内容存到后缀名为.c的文件中,运行就可以得到正确答案了。
#include<stdio.h>
main()
{
int num[3][3]={1,2,3,4,5,6,7,8,9};
int i=0,j=0,a;
while(j<=2)
{
a=num[i][j];
num[i][j]=num[j][i];
num[j][i]=a;
j++;
}
a=num[1][2];
num[1][2]=num[2][1];
num[2][1]=a;
for(i=0;i<=2;i++) {
for(j=0;j<=2;j++)
printf("%d",num[i][j]);
printf("\n");
}
}