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

学生基本信息输入输出

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

//# 学生基本信息输入输出

//输入:17140216;80.845,90.55,100.00

//输出:The each subject score of No. 17140216 is 80.85, 90.55, 100.00.

#include <stdio.h>

int main()

{

int id=0;
float c=0.0;
float math=0.0;
float english=0.0;
scanf("%d;%f,%f,%f",&id,&c,&math,&english);
printf("The each subject score of No. %d is %.2f, %.2f, %.2f.",id,c,math,english);
return 0;

}

//测试时发生了一些错误:原因是浮点型小数用的是double型变量定义的导致输出时发生了四舍五入的错误

//注意:小数在内存中可能不能精确保存

//收获:1.float类型对应的浮点型数据为%f;double类型对应的浮点型数据为%lf

// 2.控制输出小数的精确度用%.mf,m为小数点后的位数;eg:保留小数点后两位:%.2f

全部评论
为什么double型会四舍五入呢?不是直接去掉小数部分吗?
1 回复 分享
发布于 2022-12-23 11:52 内蒙古
学号的范围没有体现出来
1 回复 分享
发布于 2023-10-04 13:52 广西
为什么最后一个%.2f.后面要加上一个点?
点赞 回复 分享
发布于 2023-02-01 12:00 安徽
id的定义应该用long才符合题目的范围
点赞 回复 分享
发布于 2023-10-28 14:32 河南
只是用%.2f应该不能实现四舍五入吧
点赞 回复 分享
发布于 2023-11-02 22:14 广东
学号用整形后面数字大的取不到吧,最好用长整形
点赞 回复 分享
发布于 2023-11-14 11:23 湖南
搜戴斯乃
点赞 回复 分享
发布于 2023-12-19 18:32 江苏
请问一下学号和成绩的隔开为什么要用;分号啊!
点赞 回复 分享
发布于 11-02 16:17 广东
好像是因为题目的输入中有一个“;”的原因吧
点赞 回复 分享
发布于 11-05 19:35 湖北

相关推荐

我见java多妩媚:大外包
点赞 评论 收藏
分享
我也曾抱有希望:说的好直白
点赞 评论 收藏
分享
57 2 评论
分享
牛客网
牛客企业服务