用gets函数输入5个国名,用冒泡排序法排序后输出。

用gets函数输入5个国名,用冒泡排序法排序后输出。帮帮忙,C语言学得有点懵,希望有个比较简单的方法。

#include <stdio.h>
#include <string.h>

#define N 5

int main() { 
    char co[N][20]={0};
   char *p[N]={NULL},*tmp=NULL;
   int i,j;
   for(i=0;i<N;i++)
     p[i]=co[i];
   printf("请输入N个国家名:\n");
   for(i=0;i<N;i++)
     gets(co[i]);
   for(i=0;i<N-1;i++)
     for(j=0;j<N-i-1;j++)
       if(strcmp(p[j],p[j+1])>0)
       {
         tmp=p[j];
         p[j]=p[j+1];
         p[j+1]=tmp;
       } 
   printf("输入的国家从小到大排序输出:\n");
   for(i=0;i<N;i++)
     puts(p[i]);       
    return 0;
}#include <stdio.h>
#include <string.h>

#define N 5

int main() { 
    char co[N][20]={0};
   char *p[N]={NULL},*tmp=NULL;
   int i,j;
   for(i=0;i<N;i++)
     p[i]=co[i];
   printf("请输入N个国家名:\n");
   for(i=0;i<N;i++)
     gets(co[i]);
   for(i=0;i<N-1;i++)
     for(j=0;j<N-i-1;j++)
       if(strcmp(p[j],p[j+1])>0)
       {
         tmp=p[j];
         p[j]=p[j+1];
         p[j+1]=tmp;
       } 
   printf("输入的国家从小到大排序输出:\n");
   for(i=0;i<N;i++)
     puts(p[i]);       
    return 0;
}