正文

[021] 四个数排序2006-02-18 15:18:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/wentao/10226.html

分享到:

输入4个整数,要求按由大到小的顺序输出。 当然是个很简单的题目了,使我想起了大一学Pascal讲到这一问题时,刚开始也是用的交换法做,记得当时还想了个实例,就是交换法时要用到一个临时空间的问题,就像要交换两个杯子中的水一样,需要一个空杯子,临时存放杯子1中的水,将杯子2水倒入杯子1,再将临时杯中的水倒入杯子2完成交换,所以喜欢用cup做这个变量。再回顾回顾…… #include <stdlib.h>#include <stdio.h>int main(){    int a, b, c, d, cup;    printf("Input 4 numbers:\n");    scanf("%d %d %d %d", &a, &b, &c, &d);    if (a<b)        {cup = a; a = b; b = cup;}    if (a<c)        {cup = a; a = c; c = cup;}    if (a<d)        {cup = a; a = d; d = cup;}    if (b<c)        {cup = b; b = c; c = cup;}    if (b<d)        {cup = b; b = d; d = cup;}    if (c<d)        {cup = c; c = d; d = cup;}    printf("%d %d %d %d \n", a, b, c, d);            system("PAUSE");                        //DEV-C++里默认添的东西,有待研究    return 0;} --------------------------------------看来还是要多练啊,开始时scanf中的参数竟然没加 &,还有if复合语句竟然写成了{cup = a, a = b, b = cup};  语句间分号用了逗号,最后一个语句还没有,复合语句外还加了个分号,无语…… 记得有挺多排序法来着,都快忘的差不多了,"据说"用循环,数组做会更好,看到那的时候再练,待续…… ################################################################################# if 语句中的三个赋值表达式是可以用逗号分开的,即三条赋值语句相当于if语句下的一条逗号表达式语句 逗号表达式:http://blog.programfan.com/article.asp?id=10142 #include <stdio.h>int main(){    int a, b, c, d, cup;    printf("Input 4 numbers:\n");    scanf("%d %d %d %d", &a, &b, &c, &d);    if (a<b) cup = a, a = b, b = cup;    if (a<c) cup = a, a = c, c = cup;    if (a<d) cup = a, a = d, d = cup;    if (b<c) cup = b, b = c, c = cup;    if (b<d) cup = b, b = d, d = cup;    if (c<d) cup = c, c = d, d = cup;    printf("%d %d %d %d \n", a, b, c, d);       return 0;} 这个Blog的编辑器有点问题,修改时原代码会丢失一些东西,特别是本文,修改时要注意!

阅读(4593) | 评论(2)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

loading...
您需要登录后才能评论,请 登录 或者 注册