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

学生基本信息输入输出

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-23 11:23
门头沟学院 Java
点赞 评论 收藏
分享
头顶尖尖的程序员:我也是面了三四次才放平心态的。准备好自我介绍,不一定要背熟,可以记事本写下来读。全程控制语速,所有问题都先思考几秒,不要急着答,不要打断面试官说话。
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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