请问是哪里出错了吗,在比较的时候三个两两比较,然后给另一个函数交换,但是最后不能正确得出结果
2条回答 默认 最新
- 乘风xs 2023-04-19 14:22关注
你的f函数里面的逻辑有问题,应该先保证a > b , a > c, 然后再去取保b > c。因为按照你原来的逻辑:先让a > b, 然后让b > c, 这个时候已经b和c交换了,第三个if想让a > c,但实际效果是让a > b(因为上一步已经交换了)。
if (strcmp(a, b) > 0){ s(a,b); } if (strcmp(a, c) > 0){ s(a, c); } if (strcmp(b, c) > 0) { s(b, c); }
望采纳
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 目详情-五一模拟赛详情页
- ¥15 有了解d3和topogram.js库的吗?有偿请教
- ¥100 任意维数的K均值聚类
- ¥15 stamps做sbas-insar,时序沉降图怎么画
- ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
- ¥15 关于#Java#的问题,如何解决?
- ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
- ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
- ¥15 cmd cl 0x000007b
- ¥20 BAPI_PR_CHANGE how to add account assignment information for service line