admin管理员组

文章数量:1794759

BC11 学生基本信息输入输出

BC11 学生基本信息输入输出 废话不多说上题目:

这道题表面上很简单,但是里面有很重要的点先给大家上正确的代码:

代码语言:javascript代码运行次数:0运行复制
#include<stdio.h>
int main()
{
	int stu = 0;
	float c = 0;
	float English = 0;
	float math= 0;
	scanf("%d;%f,%f,%f", &stu, &c, &English, &math);
	printf("The each subject score of No. %d is %.2f, %.2f, %.2f.", stu, c, English, math);

	return 0;
}

这道题一定要按人家的格式来输入和输出,注意哪里有分号哪里有逗号空格这些都是决定你能不能通过测试的因素,下来是最重要的点,请看这段代码:

代码语言:javascript代码运行次数:0运行复制
#include<stdio.h>
int main()
{
	int stu = 0;
	double c = 0;
	double English = 0;
	double math= 0;
	scanf("%d;%lf,%lf,%lf", &stu, &c, &English, &math);
	printf("The each subject score of No. %d is %.2lf, %.2lf, %.2lf.", stu, c, English, math);

	return 0;
}

你们说上面这段代码正确吗。

我们发现预期输出80.85实际输出80.84,这是因为浮点数没办法全部精确保存在内存中因为double和float的精度不一样,所以保存近似的小数结果也不一样。 double用的是%lf输入输出,float用的是%lf输入输出。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:2024-10-17,如有侵权请联系 cloudcommunity@tencent 删除内存doubleintmath测试

本文标签: BC11 学生基本信息输入输出