莫比乌斯反演 2021-12-19 16:27 采纳率: 100%
浏览 30
已结题

【第13题】给定三个数 a,b,c,从小到大输出这三个数

给定三个数 a,b,c,从小到大输出这三个数,这个怎么做呀
数字范围是不定的

  • 写回答

1条回答 默认 最新

  • 英雄哪里出来 2021年博客之星Top1 2021-12-19 17:52
    关注
    #include <stdio.h>
    void swap(int* x, int *y) {            // (1)
        int tmp = *x;
        *x = *y;
        *y = tmp;
    }
    int main() {   
        int a, b, c;
        while(scanf("%d %d %d", &a, &b, &c) != EOF) {
            if(a > b) swap(&a, &b);        // (2)
            if(b > c) swap(&b, &c);        // (3)
            if(a > b) swap(&a, &b);        // (4)
            printf("%d %d %d\n", a, b, c);
        }
        return 0;
    }
    
    • $(1)$ swap这个函数用来实现对两个整数的交换,int *x代表一个指针,指向的是某个变量的地址,函数体执行的就是交换两个变量的操作。其中,*x代表的是取地址中的值。
    • $(2)$ $(3)$ $(4)$ 布对应的就是上文 解题思路 中提到的三步交换,由于swap函数的参数是指针,这里需要用&符号把变量转换成它的地址,即指针。
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 12月27日
  • 已采纳回答 12月19日
  • 创建了问题 12月19日

悬赏问题

  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记