0

我正在使用 [right] 矩形总和开发一个集成程序。我使用起始边界作为 a=1,使用“n”作为矩形的数量,使用“inc”作为增加 z 的增量。这是我到目前为止的代码:

#include <iostream>
#include <cmath>

using std::cout;
using std::endl;
using std::cin;

int main(){

    int n;
    float b;
    float z;
    z=((b-1)/n);
    float inc;
    float new_sum;
    float sum;
    int decision;


    cout << "Would you like to calculate an area? " << endl;
    cout << "Enter 1 for yes, 0 for no: " << endl;
    cin >> decision;

    cout << "Please enter the number of rectangles you would like to use: " << endl;
    cin >> n;
    cout << "Please enter the upper bound of integration: " << endl;
    cin >> b;

    for (inc=0; inc < b; inc++){
        new_sum=z*(f(1+(inc*z)));
        sum=sum+new_sum;
    }

    cout << sum << endl;

return 0;

}

我有两个问题:

  1. 如何在其中使用函数 f(x)=x^5 + 10?我不确定它应该如何在 for 循环中输入和格式化。

  2. 如何循环第一个问题序列(你想计算一个面积吗?),使用 for 循环,重复直到用户输入 1 表示是(我知道如何使用 while 循环来做到这一点,但想知道它是如何做到的会用 for 循环来完成吗?)

4

1 回答 1

0

如何在其中使用函数 f(x)=x^5 + 10?我不确定它应该如何在 for 循环中输入和格式化。

float f( float x ) {
    return pow( x, 5 ) + 10; // maybe x * x * x * x * x + 10
}

在函数main定义之前添加这一行。

如何循环第一个问题序列(你想计算一个面积吗?),使用 for 循环,重复直到用户输入 1 表示是(我知道如何使用 while 循环来做到这一点,但想知道它是如何做到的会用 for 循环来完成吗?)

for (;;) {
    cout << "Would you like to calculate an area? " << endl;
    cout << "Enter 1 for yes, 0 for no: " << endl;
    cin >> decision;
    if ( decision != 1 ) // or if ( decision == 0 )
    {
        break;
    }

    cout << "Please enter the number of rectangles you would like to use: " << endl;
    cin >> n;
    cout << "Please enter the upper bound of integration: " << endl;
    cin >> b;

    for (inc=0; inc < b; inc++){
        new_sum=z*(f(1+(inc*z)));
        sum=sum+new_sum;
    }

    cout << sum << endl;
}
于 2013-02-06T06:08:53.927 回答