用c ++中的循环解决这个问题的方法是什么?

时间:2015-10-20 16:24:39

标签: c++ loops math

我整夜都在编码,所以我的头脑处于震惊状态。我试图做以下事情,但我不知道教授希望我们做什么。 "输入无符号并调用它号。然后输入数字双精度值,然后输出数字的总和和乘积。 (如果数字为零,则输入0个双数; 0个数字的总和为0,0个数字的乘积为1)"

如果有人可以帮助我,我真的很感激。谢谢。

编辑:

这是我到目前为止所做的事情,我目前所困惑的是如何使无符号变量成为循环内部双输入的数量。

unsigned number, x;
double double_num, sum;
cout << "Input the number of value: \n";
cin >> number;
for (x = 0; x > number; x++) {
    cin >> double_num;
}
return 0;

2 个答案:

答案 0 :(得分:0)

你遇到什么困难?

这是一个开始:

// Input an unsigned and 
unsigned int g;
cout << "Please Enter an unsigned int value, g" << endl;
cin >> g;

在你的循环中,你有:

for (x = 0; x > number; x++) {

这意味着:

  

x设置为零   虽然x 更大而不是某个数字,但继续......

您认为零何时大于5?
的数字? 你认为循环会运行多少次?

int main(void)
{
    unsigned g;
    double product(1);
    double sum(0);

    cout << "Input the number of value: \n";
    cin >> g;
    for (unsigned x = 0; x < g; x++) {
        double n;
        cout << "Input a number: " <<endl;
        cin >> num;
        product *= num;
        sum += num;
    }

    cout << "The product is" << product << "\n";
    cout << "The sum is" << sum << "\n" << endl;;
    return 0;
}

答案 1 :(得分:0)

您需要以下内容:

#include<iostream>
#include<cstdlib>

int main()
{
    unsigned int n;
    std::cin >> n;
    double g, p=1, s=0;
    while (n-->0 && std::cin >> g) p*=g,s+=g;
    return std::cin
        ? std::cout << s << std::endl << p << std::endl, EXIT_SUCCESS
        : (std::cerr << "Failed to read all inputs" << std::endl, EXIT_FAILURE);
}

你应该确定你理解每一个陈述并准备好为你的选择辩护;如果没有,你可能还没有学到任何东西,也不太可能通过你的课程。