C++输出小数
#牛客创作赏金赛#
最近做到一道题,输入整数,计算平均值,要输出保留两位小数的浮点数
以前没遇到过这种题,直接硬控我一个多小时
前置知识(菜鸟里复制的,让我解释我也不会啊)
fixed:设置定点格式输出浮点数
setprecision(int):设置浮点数的有效位数
int a, b,sum;
double ave;
cin >> a >> b;
sum = a+b;
ave=(double)sum / 3;
cout << fixed << setprecision(2) << sum ;
这是第一种方法(自己想出来的)
强制类型转换,虽然搞不懂原理,但是知道‘sum/3’本该是int类型,但在(double)后被转化为double类型就够了
cout << fixed << setprecision(2) << sum / 3.0;
这是第二种方法(学长教的)
很直观,将本该是int 的3,变为浮点数3.0 !
天才!巧妙!这就是编程的快乐!
最近做到一道题,输入整数,计算平均值,要输出保留两位小数的浮点数
以前没遇到过这种题,直接硬控我一个多小时
前置知识(菜鸟里复制的,让我解释我也不会啊)
fixed:设置定点格式输出浮点数
setprecision(int):设置浮点数的有效位数
int a, b,sum;
double ave;
cin >> a >> b;
sum = a+b;
ave=(double)sum / 3;
cout << fixed << setprecision(2) << sum ;
这是第一种方法(自己想出来的)
强制类型转换,虽然搞不懂原理,但是知道‘sum/3’本该是int类型,但在(double)后被转化为double类型就够了
cout << fixed << setprecision(2) << sum / 3.0;
这是第二种方法(学长教的)
很直观,将本该是int 的3,变为浮点数3.0 !
天才!巧妙!这就是编程的快乐!
全部评论
完辣,昨晚可能AC完精神不太正常,刚刚又有些疑惑,在这里修正一下第一种方法(但是上面的那个也没错,只是我想表达地更精准一点)
double f;
f = sum / 3;
cout << fixed << setprecision(2) << f;
这种方法是可以输出小数的,昨晚可能写的是
cout << fixed << setprecision(2) << sum / 3;
导致没有输出理想的结果
对!刚刚试了下,就是这句
第一种方法的另一种修正结果
cout<< fixed << setprecision(2) << (double)sum / 3;
这下舒服多了
有 异议! 可以在我评论区留言,感激不尽
相关推荐

点赞 评论 收藏
分享
牛客刘北:两个缺爱的人是没有办法好好在一起的,但世界上哪有什么是非对错?你后悔你们在一起了,但是刚刚在一起的美好也是真的呀,因为其他人的出现,你开始想要了最开始的自己,你的确对不起自己,21岁的你望高物远,你完全可以不谈恋爱,去过你想要的生活,你向往自由,在一起之后,你要想的不是一个人,而是两个人,你不是变心了,就像你说的,你受够了,你不想包容了,冷静几天是你最优的选择,爱人先爱己。
点赞 评论 收藏
分享