题解 | #学生基本信息输入输出#

学生基本信息输入输出

https://www.nowcoder.com/practice/58b6a69b4bf943b49d2cd3c15770b9fd

#include <stdbool.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>

int main(int argc, const char *argv[])
{
	unsigned int number;
	double grade1, grade2, grade3;
	scanf("%u;%lf,%lf,%lf", &number, &grade1, &grade2, &grade3);
	printf("The each subject score of No. %u is %.2lf, %.2lf, %.2lf.", number,
		(round(grade1 * 100)) / 100, (round(grade2 * 100)) / 100, (round(grade3 * 100)) / 100);
	return 0;
}

请注意,题目中有这么一句话:“注:输出成绩时需进行四舍五入且保留2位小数”。round()函数对浮点数四舍五入求近似值,参数和返回值均为double,但round四舍五入保留的是整数,即保留0位小数,所以我们先将成绩*100,用round四舍五入后再/100,从而实现四舍五入且保留2位小数。

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-16 12:18
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务