59 条题解
-
-1
这道题相对于其他题会稍微难那么亿丢丢~
我们可以来看看保留小数的以下方法 ↓
- 万能头文件 + cout << fixed << setprecision(保留小数位数) << 值;
- 万能头文件 + printf("%.保留小数位数f", 值);
懂了这个我们就可以上代码啦!
#include <bits/stdc++.h> using namespace std; int main() { double r, pi = 3.1415926; cin >> r; cout << fixed << setprecision(2); cout << pi * pow(r, 2) << endl; cout << pi * 2 * r << endl; //printf("%.2lf", pi * pow(r, 2)); //printf("%.2lf", pi * 2 * r); return 0; } #
-
-1
不调用函数实现保留两位小数。
四舍五入
我们知道,赋值给int类型的变量,会自动将赋的值向下取整,因此,我们可以利用这一点,实现对于double类型变量的四舍五入到个位。
#include <iostream> using namespace std; int main() { double a; cin>>a; int b=a+0.5; /*如果a小数部分>=0.5, 那么它就会进位, 否则还是向下取整, 从而实现四舍五入的效果。 */ cout<<b; return 0; }
百分位取整
现在,我们已经完成了取整到个位,取整到百分位就简单了。
- 我们先要将double型变量*100,再赋值给int类型变量,实现对百分位取整,
- 在用一个double型变量存int变量/100.0的值,这就是百分位取整了。
现在,想必你已经对这个方法得心应手了,运用到题目里去吧。
AC代码(求赞)
#include <bits/stdc++.h> using namespace std; int main() { double a; cin>>a; int b=100*(2*a*3.1415926)+0.5; //四舍五入+百分位取整(对周长)。 int c=100*(a*a*3.1415926)+0.5; //四舍五入+百分位取整(对面积)。 cout<<c/100.0<<endl<<b/100.0; //输出。注:一定要除以100.0,不能是100。 return 0; }
信息
- ID
- 45
- 时间
- 1000ms
- 内存
- 16MiB
- 难度
- 7
- 标签
- 递交数
- 7640
- 已通过
- 1988
- 上传者