给定三个数 a,b,c,从小到大输出这三个数,这个怎么做呀
数字范围是不定的
1条回答 默认 最新
关注 #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
函数的参数是指针,这里需要用&
符号把变量转换成它的地址,即指针。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用- $(1)$
悬赏问题
- ¥15 程序不包含适用于入口点的静态Main方法
- ¥15 素材场景中光线烘焙后灯光失效
- ¥15 请教一下各位,为什么我这个没有实现模拟点击
- ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
- ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
- ¥20 有关区间dp的问题求解
- ¥15 多电路系统共用电源的串扰问题
- ¥15 slam rangenet++配置
- ¥15 有没有研究水声通信方面的帮我改俩matlab代码
- ¥15 ubuntu子系统密码忘记