北飞的山羊 2022-10-24 20:30 采纳率: 50%
浏览 195

用键盘任意输入十个学生姓名(以拼音的形式),将他们按ASCII码的顺序从小到大排列

输入多组字符串的时候老是报错,想了很久对了,但模模糊糊,希望解答一下,最后将他们的值进行循环比较的结果顺序不对,希望解答一下

  • 写回答

2条回答 默认 最新

  • CSDN专家-link 2022-10-24 20:45
    关注

    你的代码呢?用strcmp比较啊

    //用键盘任意输入十个学生姓名(以拼音的形式),将他们按ASCII码的顺序从小到大排列
    #include <stdio.h>
    #include <string.h>
    int main()
    {
        char name[10][20],t[20];
        for(int i=0;i<10;i++)
            scanf("%[^\n]", name[i]);
        for(int i=0;i<9;i++)
            for(int j=0;j<9-i;j++)
            {
                if(strcmp(name[j],name[j+1]) > 0)
                {
                    strcpy(t,name[j]);
                    strcpy(name[j],name[j+1]);
                    strcpy(name[j+1],t);
                }
            }
        for(int i=0;i<10;i++)
            printf("%s\n",name[i]);
        return 0;
    }
    
    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 10月24日

悬赏问题

  • ¥15 无法输出helloworld
  • ¥15 高通uboot 打印ubi init err 22
  • ¥20 PDF元数据中的XMP媒体管理属性
  • ¥15 R语言中lasso回归报错
  • ¥15 网站突然不能访问了,上午还好好的
  • ¥15 有没有dl可以帮弄”我去图书馆”秒选道具和积分
  • ¥15 semrush,SEO,内嵌网站,api
  • ¥15 Stata:为什么reghdfe后的因变量没有被发现识别啊
  • ¥15 振荡电路,ADS仿真
  • ¥15 关于#c语言#的问题,请各位专家解答!