江浸月X 2023-10-01 22:15 采纳率: 46.2%
浏览 5
已结题

关于#c语言#的问题:为什么我用4个指针实现排序3给大小数字会实现不了

运行代码,然后,电脑输出的答案达不到排序的效果

以下是我的代码:

#include<stdio.h>                        //有脏东西 


int main()
{
    int a,b,c;
    int*p1,*p2,*p3,*p;
    printf("请输入a,b,c的值:");
    scanf("%d %d %d",&a,&b,&c);
    p1=&a;
    p2=&b;
    p3=&c;
    if(a<b<c)
    {
        p=p1;p1=p3;p3=p;                       
    }
    else
    if(c<a<b)            //20  22  18,这组数据运行时电脑输出答案有错
    {
        p=p1;p1=p2;p2=p;
    }
    else
    if(a<c<b)        //18  22  20 ,这组数据也一样
    {
        p=p1;p1=p2;p2=p3;p3=p;
    }
    else
    if(b<c<a)
    {
        p=p2;p2=p3;p3=p;
    }
    else
    if(b<a<c)
    {
        p=p1;p1=p3;p3=p2;p2=p;
    }
    printf("a=%d,b=%d,c=%d\n",a,b,c);
    printf("MAX=%d,MID=%d,MIN=%d",*p1,*p2,*p3);
    return 0;
}

  • 写回答

2条回答 默认 最新

  • threenewbee 2023-10-01 22:17
    关注

    if(a<b<c)
    不能这么写

    if(a<b && b<c)
    别的类似

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 10月10日
  • 已采纳回答 10月2日
  • 请采纳用户回复 10月1日
  • 创建了问题 10月1日

悬赏问题

  • ¥15 如何用MATLAB写一段烟幕弹拦截导弹的代码?
  • ¥15 这两个验证谁能解决,带价来
  • ¥15 matlab可视化全球TEC含量图
  • ¥15 怎么将普通C++转入UE5
  • ¥15 求一段多输入类型的matlab lstm的代码
  • ¥15 零基础200题编字典问题
  • ¥15 win11移除微软账户登录
  • ¥15 部署zabbix登录时跳转如下页面
  • ¥15 cup+fpga+88E1111 rgmii to sgmii
  • ¥15 请问如何从gprmax中导出的merged.out文件获取雷达数据(应该是个二维数组吧),我看到网上很多对雷达数据的操作但是都没有说如何获得这个数据,因为out文件不能直接操作要转成其他格式是吧