如果你都不知道自己想去哪里,那去哪里都是一样的。 收藏本站
登陆 / 注册 搜索

阅读:1.1万   回复: 10

C语言,【对任意三个数字进行排序】,求助!

[复制链接]
翰苑思齐 「初入古黑」 2016-11-16 19:17 |显示全部楼层

这个用户很懒,还没有填写自我介绍呢~

20金币
我是在这个里面下载了郝斌老师的视频,然后开始接触C,学到第五课的if,出现了个问题,想了一天了,也不知道怎么回事,问一下,真的很着急,一天没进度了。
if语句应用举例【对任意三个数字进行排序】
我是这样写的:

  1. # include <stdio.h>

  2. int main(void)
  3. {
  4.         int a, b, c;
  5.         int t;

  6.         printf("请用输入以空格分开的三个数:");
  7.         scanf("%d %d %d",&a, &b, &c);

  8.         if (a < b)
  9.         {
  10.                 t = a;
  11.                 a = b;
  12.                 b = t;
  13.         }

  14.         if (a < c)
  15.         {
  16.                 t = a;
  17.                 a = c;
  18.                 c = t;
  19.         }

  20.         if (b < c)
  21.         {
  22.                 t = b;
  23.                 b = c;
  24.                 c = t;
  25.         }

  26.         printf("%d %d, %d\n",a, b, c);

  27.         return 0;
  28. }
复制代码




如果输入的是123,结果应该是321的。
在Vc++6.0中输出的结果为::
------------------------------------------------
请用输入以空格分开的三个数:123\n
123 -858993460, -858993460
Press any key to continue
-----------------------------------------------
而且我在没有在sancf里加\n,可是输入123还必须打/n才能显示,也不知道怎么回事,我和郝斌老师视频中的编码对照了多次,都一样,就是结果不一样,可是他的输出结果确是对的。。。。。。。


可能我问的有点那啥,但是我真的不懂咋回事儿, - -、

求解惑~!


最佳答案

查看完整内容

1.注意格式化输入...如果说你scanf中用空格作为隔开符,那么在输入数字的时候要保持这种格式啊。 2.为什么会出现这种现象呢,应该说和编译器也有关系,它把你输入的123作为a,由于没有bc的输入,所以自己瞎照了两个无意义的数来进行比较~
上一篇
下一篇
帖子热度 1.1万 ℃
一个袋子砸在了翰苑思齐头上,翰苑思齐赚了 2 个 金币.

Yoki 「初入古黑」 2016-11-16 19:17 |显示全部楼层

这个用户很懒,还没有填写自我介绍呢~

1.注意格式化输入...如果说你scanf中用空格作为隔开符,那么在输入数字的时候要保持这种格式啊。
2.为什么会出现这种现象呢,应该说和编译器也有关系,它把你输入的123作为a,由于没有bc的输入,所以自己瞎照了两个无意义的数来进行比较~
糟糕!Yoki长得太帅路遇劫匪,赎金 1 个 金币.

翰苑思齐 「初入古黑」 2016-11-16 19:45 |显示全部楼层

这个用户很懒,还没有填写自我介绍呢~

#d47: 嗷!!! 知道了,都说了以空格分开输入,我直接输入了123 , 尴尬 - -、,我会注意格式的,蟹蟹!#d41:

深蓝 炉火纯青 2016-11-16 20:36 |显示全部楼层

一个男人没有丰富的面部表情,不代表他没有丰富的内心世界。

赞助会员

本帖最后由 深蓝 于 2016-11-16 21:15 编辑

原来是你输入的时候没有加空格。。我还傻逼的去检查了代码。。。

] C语言,【对任意三个数字进行排序】,求助! QQ截图20161116211205.png
一个袋子砸在了深蓝头上,深蓝赚了 2 个 金币.

小西 「龙战于野」 2016-11-16 20:48 来自手机 |显示全部楼层

这个用户很懒,还没有填写自我介绍呢~

赞助会员
引用

深蓝 发表于 2016-11-16 20:36
原来是你输入的时候没有加空格。。我还傻逼的去检查了代码。。。


:(我也去了,而且找出了问题,兴冲冲的想来拿20古黑币,结果。。。。。。。被人捷足先登了:L

我不是黑客 「初入古黑」 2016-11-16 21:04 |显示全部楼层

这个用户很懒,还没有填写自我介绍呢~

不对啊,他说的是要反着输出来啊

我不是黑客 「初入古黑」 2016-11-16 21:22 |显示全部楼层

这个用户很懒,还没有填写自我介绍呢~

#include<stdio.h>
int main( )
{
int a,b,c,t;
printf("请输入三个数:");
scanf("%d %d %d",&a,&b,&c);
t=a;
a=c;
c=t;
printf("%d,%d,%d",a,b,c);
return 0;    
}





7

鹦鹉加一 「初入古黑」 2017-1-10 16:17 来自手机 |显示全部楼层

这个用户很懒,还没有填写自我介绍呢~

哈哈,跟我想的算法一点都不一样,这个看起来好复杂。
8

鹦鹉加一 「初入古黑」 2017-1-10 16:28 来自手机 |显示全部楼层

这个用户很懒,还没有填写自我介绍呢~

我的天,算法我都不会!
9

您需要登录后才可以回帖 登录 | 免费注册  

本版积分规则

快速回复 返回列表