C语言程序设计请教各位大霞

编写程序:有 N个国家名,要求按字母先后顺序排列(用起泡排序法)后输出。
运行效果:

请输入5个地名:

Shanghai

Beijing

Shenzhen

Lasa

Wulumuqi

排序后的地名顺序为:

Beijing

Lasa

Shanghai

Shenzhen

Wulumuqi

用字符类型的二维数组,然后进行冒泡排序就行了啊。字符串比较用strcmp

#include <stdio.h>
#include <string.h>
int main()
{
    char s[100][50] = {0},char t[50];
    int N;
    scanf("%d",&N);
    for(int i=0;i<N;i++)
        gets(s[i]);
    for(int i=0;i<N-1;i++)
        for(int j=0;j<N-i-1;j++)
        {
            if(strcmp(s[j],s[j+1]) == 0)
            {
                strcpy(t,s[j]);
                strcpy(s[j],s[j+1]);
                strcpy(s[j+1],t);
            }
     for(int i=0;i<N;i++)
          printf("%s\n",s[i]);
}

除了数组从int a[]改为char a[][]
scanf("%d",&a[i])改为scanf("%s",a[i])
a[i]<a[j]改为strcmp(a[i],a[j])<0
其他和int型的冒泡排序没有任何区别