【发布时间】:2016-05-20 08:27:38
【问题描述】:
我非常迷茫和困惑。
我必须使用 getchar 读取像 3.432 这样的浮点整数。然后,我必须使用 printf 再次将其打印为精度为 4 位小数的浮点数。所以 3.432 --> 3.4320 和 .450 --> .4500 和 453 --> 453.0000。
我一直在使用 getchar() 并且我理解这一点,但是试图将值重新转换为浮点数是我非常迷茫的地方。
float num = 0.0;
char ch;
while((ch = getchar()) != '\n'){
num = ch - '0';
printf("%.4f", num);
}
我知道为什么这是错误的以及它会输出什么,但这就是我目前所拥有的
编辑:我只能使用 getchar 来读取浮点值
【问题讨论】:
-
当
ch包含小数点时,num将发生什么值。即num = ch - '0';? -
是的,我只能使用 getchar,不能使用 atof。我正在考虑将其转换为浮点数,但每个单独的字符都是浮点数
-
您的代码 sn-p 是一个好的开始,但您的问题到底出在哪里?
标签: c