☆748 2022-03-29 10:00 采纳率: 100%
浏览 103
已结题

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

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

  • 写回答

1条回答 默认 最新

  • bostonAlen 2022-03-29 10:35
    关注
    #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;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 4月7日
  • 已采纳回答 3月30日
  • 创建了问题 3月29日