小卜~ 2022-08-25 23:33 采纳率: 60%
浏览 35
已结题

关于#c语言#的问题,请各位专家解答!

使用姓名排序,输入三行数据,但是只输出两个姓名,其他数据输出正常,不清楚是怎么回事,请各位帮忙解答一下!

img

  • 写回答

2条回答 默认 最新

  • qzjhjxj 2022-08-25 23:59
    关注

    用这段代码,按标示行数位置替代原代码,供参考:

    //原代码第 226 行
      struct studata tmp;//因为没看到定义结构体的代码,不知道结构体里的 data[] 的数据类型,这里
                         //定义中间变量 tmp 的类型为:strcut studata,用到你的代码里,这里需要
                         //修改为你定义的类型名。
      for (k = 0; k < ps->size - 1; k++)
      {
          for (i = 0; i < ps->size - 1 - k; i++)
          {
              if (strcmp(ps->data[i].name,ps->data[i+1].name) > 0)
              {
                  tmp = ps->data[i];
                  ps->data[i] = ps->data[i+1];
                  ps->data[i+1] = tmp;
              }
    
          }
      }
     //原代码第 238 行
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 8月26日
  • 已采纳回答 8月26日
  • 创建了问题 8月25日

悬赏问题

  • ¥15 Mac版Fiddler Everywhere4.0.1提示强制更新
  • ¥15 android 集成sentry上报时报错。
  • ¥50 win10链接MySQL
  • ¥35 跳过我的世界插件ip验证
  • ¥15 抖音看过的视频,缓存在哪个文件
  • ¥15 自定义损失函数报输入参数的数目不足
  • ¥15 如果我想学习C大家有是的的资料吗
  • ¥15 根据文件名称对文件进行排序
  • ¥15 deploylinux的ubuntu系统无法成功安装使用MySQL❓
  • ¥15 有人会用py或者r画这种图吗