解题思路: 详见代码
注意事项: 传参数时应为地址
参考代码:
#include<stdio.h>
int swap(int* x, int* y) //定义一个函数,用以交换变量
{
int tem = 0;
tem = *x;
*x = *y;
*y = tem;
}
int main(void)
{
int a, b, c;
scanf("%d %d %d", &a, &b, &c);
if (a > b)
swap(&a, &b); //交换a b的值
if (a > c)
swap(&a,&c); //交换 a c
if (b > c)
swap(&b,&c); //交换 b c
printf("%d %d %d\n", a, b, c);
return 0;
}
0.0分
2 人评分
要先交换旁边的,比如说a=2,b=3,c=1;这样if(a>b)不满足,进入if(b>c),交换后a=2,b=1,c=3;然后if(a>c)不满足就输出了。打印出来就是a=2,b=1,c=3.应该把判断if(a>c)模块放在if(b>c)模块的后面。
#include<stdio.h> int main() { int a,b,c,t; scanf("%d%d%d",&a,&b,&c); if(a>b){ t=a; a=b; b=t; } if(b>c) { t=b; b=c; c=t; } if(a>c) { t=a; a=c; c=t; } printf("%d %d %d",a,b,c); return 0; } /*********************/ 可以请教一下我这个哪里错了吗?不明白为什么一直过不去
C语言训练-求s=a+aa+aaa+aaaa+aa...a的值 (C语言代码)浏览:664 |
C语言程序设计教程(第三版)课后习题10.7 (C语言代码)浏览:549 |
打水问题 (C语言代码)浏览:1148 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:633 |
C语言程序设计教程(第三版)课后习题6.3 (C语言代码)浏览:1000 |
Minesweeper (C语言描述,蓝桥杯)浏览:1176 |
循环入门练习5 (C语言代码)浏览:907 |
钟神赛车 (C语言代码)浏览:665 |
Pascal三角 (C语言代码)浏览:707 |
单词个数统计 (C语言代码)浏览:1046 |