#include <iostream>
#include <cmath>
using namespace std;
int main() {
int n = 5;
float area = 0.0;
float totalarea = 0.0;
float dx = 1.0/n;
float x = 0.0;
cout << "number of rectangles?:";
cin >> n;
for (int i=1; i<=n; i++){
area = (1/n) * pow(1.0 - pow(x,2.0),0.5) ;
totalarea += area;
x = x + dx;
}
cout << totalarea << endl;
return 0;
}
我试图用矩形估计四分之一圆的面积。当我输入1时,我得到1作为输出。当我输入一个2-6的整数时,我得到0作为输出。当我输入一个大于6的整数时,我得到“不是数字”作为输出。有人可以帮我修复我的代码。
除了修复注释中提到的整数除法问题之外,还需要暂停设置dx,直到得到n的值。
#include <iostream>
#include <cmath>
using namespace std;
int main() {
int n;
float area = 0.0;
float totalarea = 0.0;
float dx;
float x = 0.0;
cout << "number of rectangles?:";
cin >> n;
dx = 1.0/n;
for (int i=1; i<=n; i++){
area = (1./n) * pow(1.0 - pow(x,2.0),0.5) ;
totalarea += area;
x = x + dx;
}
cout << totalarea << endl;
return 0;
}