给定三个数 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)$