大神求解,C语言,Unhandled exception

编写函数,对于指定的二维整型数组,首先对每行从小到大排序,之后对每列从小到大排序;反复执行上述过程,知道没有变动为止。
#include<stdio.h>
void main(){
int a[30][30];
int n,m,x,i,j,t,y;
bool flag;
printf("\n输入行数n:");
scanf("%d",&n);
printf("\n输入列数m:");
scanf("%d",&m);
for(i=0;i<n;i++)
{
printf("\n第%d行\n",i+1);
for(j=0;j<m;j++)
scanf("%d",&a[i][j]);
printf("\n");
}
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
printf("%5d",a[i][j]);
printf("\n");
}
do
{
flag=false;
for(j=0;j<m;j++)
{
for(i=0;i<n-1;i++)
for(x=i+1;x<n;x++)
if(a[i][j]>a[x][j])
{
t=a[i][j];
a[i][j]=a[x][j];
a[x][j]=t;}
}
for(i=0;i<n;i++)
{
for(j=0;j<m-1;j++)
for(y=j+1;y<n;j++)
if(a[i][j]>a[i][y])
{
t=a[i][j];
a[i][j]=a[i][y];
a[i][y]=t;}
}
for(j=0;j<m;j++)
{
for(i=0;i<n-1;i++)
if(a[i][j]>a[i+1][j])
flag=true;
}
}while(flag==true);
printf("输出排序之后的数:\n");

for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
printf("%5d",a[i][j]);
printf("\n");
}
}
有没有大神帮忙改改代码,不知道哪里错了

第1个回答  2018-12-08
自己直接把花括号校对好就可以了
相似回答