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

用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日

悬赏问题

  • ¥60 ESP32怎么烧录自启动程序
  • ¥50 html2canvas超出滚动条不显示
  • ¥15 MATLAB四叉树处理长方形tif文件
  • ¥15 java业务性能问题求解(sql,业务设计相关)
  • ¥15 52810 尾椎c三个a 写蓝牙地址
  • ¥15 elmos524.33 eeprom的读写问题
  • ¥15 使用Java milo连接Kepserver服务端报错?
  • ¥15 用ADS设计一款的射频功率放大器
  • ¥15 怎么求交点连线的理论解?
  • ¥20 软件开发方法学习来了