有一个简单的程序(三个数排列大小)
我写了很多次,甚至都照抄了,但是最后的结果还是不对,
有一个简单的程序(三个数排列大小)
我写了很多次,甚至都照抄了,但是最后的结果还是不对,
我是这样写的:
#include "stdio.h" void main() { int a,b,c,t; printf("input a,b,c:"); scanf("%d,%d,%d",&a,&b,&c); if (a<b){t=a;a=b;b=t;} if (a<c){t=a;a=c;c=t;} if (b<c){t=b;b=c;c=t;} printf("%d,%d,%d",a,b,c); }
其实调试过程并没有发现语法错误,
只是运行的时候,结果奇怪得很,常常出现一些并没有的数字。
程序应该没问题,
你可能在输入时除了问题:如你想输入1 2 3,你scanf函数里面的3个%d是用逗号格开的,哪你输入时必须输入:
1,2,3 如果你直接输1 2 3就会出错了
main() { int a,b,c;
scanf("%d,%d,%d",&a,&b,&c);
printf("1. %d\n",a>b?a>c?a:c:b>c?b:c); printf("2. %d\n",a>b&&a<c||a>c&&a<b?a:b>c&&b<a||b<c&&b>a?b:c); printf("3. %d\n",a<b?a<c?a:c<b?c:b:b<c?b:c); }
气死我了,下午贪睡,晚看了一点要不他感谢的就是我了。
呵呵。
不过我认为用排序法比较好点,现在才3个你没感觉到烦,如果是10个数比大小呢?!
排序法的具体方法可以看书(数组那章吧),还有一个帖子~
http://bbs.bc-cn.net/bbs/dispbbs.asp?boardID=44&ID=2995&page=1
主要解答的是 流星雨 我一直很崇拜她哦 一定是个漂亮的MM
[此贴子已经被作者于2004-07-24 18:07:07编辑过]
还是用排序吧
bubble up是最简单的了