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;
这下舒服多了
有 异议! 可以在我评论区留言,感激不尽
相关推荐
点赞 评论 收藏
分享

点赞 评论 收藏
分享