[问题] 输入5个浮点数,找出最大值

楼主: NMOSFET (NMOSFET)   2015-04-22 17:55:53
开发平台(Platform): (Ex: VC++, GCC, Linux, ...)
GCC
问题(Question):
输入5个浮点数找出最大质
程式码(Code):
#include<stdio.h>
double maximum(double a, double b, double c, double d, double e);
int main(void)
{
double number1 = 0;
double number2 = 0;
double number3 = 0;
double number4 = 0;
double number5 = 0;
printf("%s", "请输入五个小数: \n");
scanf("%1f %1f %1f %1f %1f", &number1, &number2, &number3, &number4,&number5);
printf("最大值为:%1f\n", maximum(number1, number2, number3, number4,number5));
system("pause");
return 0;
}
double maximum(double a, double b, double c, double d, double e)
{
double max = a;
if (b>max)
{
max = b;
}
if (c>max)
{
max = c;
}
if (d>max)
{
max = d;
}
if (e>max)
{
max = e;
}
return max;
}
补充说明(Supplement):
1.我输入整数时没问题,输入小数只让我输入一次
2.不管输入多少(整数)都无法比较,只会输出0.000000
但是把全部double型态改成float型态却能正常比较(整数)
且输出正确值
3. http://pastebin.com/A9W72kas 这是课本的答案
把小于改大于就是我要的答案(求最大值),输入小数
也没问题,可是我看不出它的程式和我打的差在哪里
恳求哪位大大肯帮我解惑 ORZ....
作者: LPH66 (-6.2598534e+18f)   2015-04-22 18:15:00
%lf 是小写 L 不是数字 1(是说课本里没对这点强调过吗...?)%1f 会被认成输入 %f 即 float 浮点数, 所以才会有你的2.那个 1 会被解释为最多一个字, 所以你会发现即使改成 float你输入的东西都只有一位数也由于最多一个字所以碰到 '.' 字 scanf 就不知道怎么办了才会只让你输入一次; 而 %f 跟 double 对不上所以读进的值是错乱的, 这就解释了你的 1.(所以我个人觉得教 scanf 时一定要强调那是 L 不是 1 ...)
作者: MOONRAKER (㊣牛鹤鳗毛人)   2015-04-22 18:29:00
这种打字机时代的错误居然30年后还没根除 X(
作者: LPH66 (-6.2598534e+18f)   2015-04-22 23:44:00
printf 的时候两者没差, 但 scanf 时就有差了所以为了简单好记起见对应着用保证 OK
作者: firejox (Tangent)   2015-04-22 23:47:00
这一切都是字型的错~
作者: cjcat2266 (CJ Cat)   2015-04-23 01:28:00
早期需要输入CD上认证码的游戏,我也常常搞混O和L
作者: EdisonX (卡卡兽)   2015-04-23 08:21:00
让我想到以前疯找 c1.exe 的事…
作者: MOONRAKER (㊣牛鹤鳗毛人)   2015-04-23 09:45:00
小时候看dbase的书,他是写给30年前只用过打字机的人看的,第一章就讲“我知道很多人打字习惯用小写l代替1,甚至小写o代替0,不要这样…”结果现在还是不时发生
作者: LiloHuang (十年一刻)   2015-04-23 20:09:00
像我用 Consolas 字型就没这问题,0 中间会有一斜撇1 跟 l 长的也很不一样 XD 建议可以换一个好一点的字体详见 Top 10 programming fonts http://goo.gl/IbKZtb
作者: KoenigseggG (地表最速)   2015-04-23 20:46:00
怒嘘,Monaco 只第六?是第八QQ
作者: uranusjr (←這人是超級笨蛋)   2015-04-23 23:23:00
以前也爱 Monaco, 但现在觉得不如用 Menlo 和 Consolas网页上说得很中肯, Monaco 在字小(尤其没有反锯齿)的时候很赞, 但放大之后在现在的高分辨率萤幕就不太行
作者: KoenigseggG (地表最速)   2015-04-23 23:56:00
嗯嗯谢谢你的分享。 我就是喜欢 Monaco 的小写a啊~萤幕......目前只有笔电萤幕QQ
作者: MOONRAKER (㊣牛鹤鳗毛人)   2015-04-24 00:22:00
Monaco也太古意了一点(不过谁古得过pica阿)

Links booklink

Contact Us: admin [ a t ] ucptt.com