/*输入多个字符串以END结束后排序*/
#include<stdio.h>
#include<ctype.h>
main()
{char a[20][30];
char b[30];
char ch[20];
char c[]={"END"};
int i=0,j,k;
clrscr();
printf("\nplease input the name of city:\n");
gets(ch);
while(!(stricmp(c,ch)==0))
{ strcpy(a[i],ch);
i++;
gets(ch);
}
while(stricmp(c,ch)==0)
{k=i;
for(i=0;i<k-1;i++)
for(j=i+1;j<k;j++)
if(strcmp(a[i],a[j])>0)
{strcpy(b,a[i]);
strcpy(a[i],a[j]);
strcpy(a[j],b);
}
printf("The new is:\n");
for(i=0;i<k;i++)
printf("%s\n",a[i]);
break;
}
}
/*我想问的是char c[]={"END"};这样赋值到底有没有,'\0'。如果有,我这个程序应该得不出正确结果。但这个程序能得出正确结果。请问大伙是怎么回事?第一次发帖。
顺便问一下,VC++是不是也能编译C程序,每次都要进纯DOS好麻烦。*/
[此贴子已经被作者于2006-8-14 20:47:39编辑过]