有两个点,一个是C++如何指定小数精度,另一个是本题中对π的精度要求较高
#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
#define PI atan(1.0)*4
/*
圆的面积
问题描述
给定圆的半径r,求圆的面积。
输入格式
输入包含一个整数r,表示圆的半径。
输出格式
输出一行,包含一个实数,四舍五入保留小数点后7位,表示圆的面积。
*/
int main()
{
int r;
double area;
cin>>r;
area=PI*r*r;
cout<<fixed<<setprecision(7)<<area;
return 0;
}
输出语句中,如果去掉fixed,则小数点前后共输出7位数(如12.34567),加上则是小数点后七位,四舍五入
cout<<fixed<<setprecision(7)<<area;
也可加上C的头文件,用 printf("%.7lf\n", PI * r * r)输出