DAY 18 2022-09-22 13:12 采纳率: 66.7%
浏览 25
已结题

double类型排序输出的问题

问题遇到的现象和发生背景

在学函数指针数组的时候想到写一个对double类型数组可以自主选择顺序逆序排序的代码,发现逆序的时候最大值始终为零,而顺序的时候就正常,麻烦大家帮我看看

用代码块功能插入代码,请勿粘贴截图
#include <stdio.h>
#include <stdlib.h>
#include <string.h> 
#define max 5
void print(double data[]);
void upsort(double data[]);
void downsort(double data[]);
void (*ptr[2])(double data[]);
int main()
{
    double x[max+1];
    int count;
    for(count=0;count<max;count++)
    {
        printf("enter the double%d:",count);
        scanf("%lf",&x[count]);
        getchar();
    }
    puts("enter the number 1 or 0 to choose the upsort or downsort");
    ptr[0]=downsort;
    ptr[1]=upsort;
    int ch;
    scanf("%d",&ch);
    if(ch==0||ch==1)
    {
        ptr[ch](x);
        print(x);
    }
    else
    {
        puts("error");
        exit(1);
    }
    return 0;
}
void print(double data[])
{
    int count;
    for(count=0;count<max;count++)
    {
        printf("%lf\n",data[count]);
    }
}
void upsort(double data[])
{
    int a,b;
    double i;
    for(a=0;a<max;a++)
    {
        for(b=0;b<max;b++)
        {
            if(data[b]>data[b+1])
            {
                i=data[b];
                data[b]=data[b+1];
                data[b+1]=i;
            }
        }
    }
}
void downsort(double data[])
{
    int a,b;
    double i;
    for(a=0;a<max;a++)
    {
        for(b=0;b<max;b++)
        {
            if(data[b]<data[b+1])
            {
                i=data[b];
                data[b]=data[b+1];
                data[b+1]=i;
            }
        }
    }
}

运行结果及报错内容

img


img

  • 写回答

2条回答 默认 最新

  • 快乐鹦鹉 2022-09-22 13:31
    关注
      for(a=0;a<max-1;a++)
        {
            for(b=0;b<max-i-1;b++)
            {
                if(data[b]<data[b+1])
                {
                    i=data[b];
                    data[b]=data[b+1];
                    data[b+1]=i;
                }
            }
        }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 9月30日
  • 已采纳回答 9月22日
  • 创建了问题 9月22日

悬赏问题

  • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
  • ¥20 软件测试决策法疑问求解答
  • ¥15 win11 23H2删除推荐的项目,支持注册表等
  • ¥15 matlab 用yalmip搭建模型,cplex求解,线性化处理的方法
  • ¥15 qt6.6.3 基于百度云的语音识别 不会改
  • ¥15 关于#目标检测#的问题:大概就是类似后台自动检测某下架商品的库存,在他监测到该商品上架并且可以购买的瞬间点击立即购买下单
  • ¥15 神经网络怎么把隐含层变量融合到损失函数中?
  • ¥15 lingo18勾选global solver求解使用的算法
  • ¥15 全部备份安卓app数据包括密码,可以复制到另一手机上运行
  • ¥20 测距传感器数据手册i2c