Supersolo24 2022-11-06 20:19 采纳率: 80%
浏览 30
已结题

浮点数绝对值比较大小并排序

输入十个浮点数比较绝对值大小,进行冒泡排序,由大到小输出,不知道哪里有问题。

#include<stdio.h>
#include<math.h>
int main(){
    int i,j;
    float s[10]={0.0},k;
    for(i=0;i<10;i++)
        scanf("%f",&s[i]);
    for(i=0;i<9;i++)
    for(j=0;j<9-i;j++){
        if(fabs(s[j])<fabs(s[j+1]))
            k=s[j];
        s[j]=s[j+1];
        s[j+1]=k;
    }
    for(i=0;i<9;i++) printf("%.2f,",s[i]);
    printf("%.2f.",s[9]);
    return 0;
}
输入样例
34.5 -234 90.3 23.5 24.8 1234 879.7 23.98 1287.73 -2340.8
输出
-2340.80,1287.73,23.98,24.80,24.80,24.80,23.50,34.50,34.50,34.50.
出现两个24.80,而且比较也出了问题
  • 写回答

1条回答 默认 最新

  • 伍六七0804 2022-11-07 10:27
    关注
    
    #include <stdio.h>
    #include <math.h>
    int main()
    {
        int i, j;
        float s[10] = {0.0}, k;
        for (i = 0; i < 10; i++)
            scanf("%f", &s[i]);
        for (i = 0; i < 9; i++)
            for (j = 0; j < 9 - i; j++)
            {
                if (fabs(s[j]) < fabs(s[j + 1]))
                {
                    k = s[j];
                    s[j] = s[j + 1];
                    s[j + 1] = k;
                }
            }
        for (i = 0; i < 9; i++)
            printf("%.2f,", s[i]);
        printf("%.2f.", s[9]);
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月15日
  • 已采纳回答 11月7日
  • 创建了问题 11月6日

悬赏问题

  • ¥15 想用@vueuse 把项目动态改成深色主题,localStorge里面的vueuse-color-scheme一开始就给我改成了dark,不知道什么原因(相关搜索:背景颜色)
  • ¥20 OPENVPN连接问题
  • ¥15 flask实现搜索框访问数据库
  • ¥15 mrk3399刷完安卓11后投屏调试只能显示一个设备
  • ¥20 白日门传奇少一个启动区服和启动服务器的快捷键,东西都是全的 , 他们说套一个出来就行了 但我就是弄不好,谁看看,
  • ¥100 如何用js写一个游戏云存档
  • ¥15 ansys fluent计算闪退
  • ¥15 有关wireshark抓包的问题
  • ¥15 需要写计算过程,不要写代码,求解答,数据都在图上
  • ¥15 向数据表用newid方式插入GUID问题