这道题根本就没读懂题,看了别的代码,写出来的,以后谨慎那么做,仗着这道题简单,用b[i]存储逆序数的个数,然后从多逆序到小逆序输出
1 #include <stdio.h>
2 int main()
3 {
4 FILE *p=fopen("2.txt","r");
5 char a[100][51];
6 int n,m,i,j,k,max,b[100],temp;
7 fscanf(p,"%d%d",&n,&m);
8 for(i=max=0;i<m;i++)
9 {
10 fscanf(p,"%s",a[i]);
11 fgetc(p); 12 for(j=temp=0;j<n-1;j++)
13 {
14 for(k=j+1;k<n;k++)
15 {
16 if(a[i][j]>a[i][k])
17 temp++;
18 }
19 }
20 b[i]=temp;
21 max=(max>b[i]?max:b[i]);
22 }
23 for(i=0;i<=max;i++)
24 {
25 for(j=0;j<m;j++)
26 {
27 if(b[j]==i)
28 printf("%s\\n",a[j]);
29 }
30 }
31 //system("pause");
32 return 1;
33 }
34 博客园怎么这么插代码了,不如以前了,还是我不会操作?