题解 | 学生基本信息输入输出
学生基本信息输入输出
https://www.nowcoder.com/practice/58b6a69b4bf943b49d2cd3c15770b9fd
#include <stdio.h>
int main(void)
{
unsigned int stu_num = 0;
float math = 0;
float c_lan = 0;
float english = 0;
scanf("%d;%f,%f,%f", &stu_num, &c_lan, &math, &english);
if (stu_num <= 20000000 && stu_num >=1 && c_lan >= 0
&& math >= 0 && english >= 0)
{
c_lan += 0.0001;
math += 0.0001;
english += 0.0001;
printf("The each subject score of No. %d is %.2f, %.2f, %.2f."
, stu_num,c_lan, math, english);
}
return 0;
}
//一个浮点数在二进制中不一定能够恰好表示出来,可能只是他的近似值
//eg:21.195 -> 10101.00110001111010111
// 10101.00110001111010111 -> 21.19499969482421875
// C语言.2f表示只会看第三位不会看之后的位数,所以当我们输入21.195(实际上21.19499969482421875)表示出来的是21.19(正确答案是21.20)

