就是字符串排序,可以用strcmp比较大小
#include <stdio.h>
#include <math.h>
int main()
{
char city[5][30] = {0},p[30];
int i,j;
for(i=0;i<5;i++)
gets(city[i]);
for(i=0;i<4;i++)
for(j=0;j<4-i;j++)
{
if(strcmp(city[j],city[j+1])>0)
{
strcpy(p,city[j]);
strcpy(city[j],city[j+1]);
strcpy(city[j+1],p);
}
}
for(i=0;i<5;i++)
printf("%s\n",city[i]);
return 0;
}
#include <stdio.h>
#include<string.h>
int main()
{
char a[5][20], *p[5], t[20];
int i, j;
puts("输入五个城市名称:");
for (i = 0; i < 5; i++) {
scanf("%s", a[i]);
p[i] = a[i];
}
for (i = 0; i < 5; i++) {
for (j = i + 1; j < 5; j++) {
if (strcmp(*(p+j),*(p+i))<0) {
strcpy(t, *(p + i));
strcpy(*(p + i), *(p + j));
strcpy(*(p + j), t);
}
}
}
puts("从小到大顺序为:");
for (i = 0; i < 5; i++)
printf("%s\n", p[i]);
return 0;
}