2015-10-20 71 views
-8

我一直在编码整夜,所以我的头处于休克状态。我试图做到以下几点,但我没有得到我们的教授希望我们做的事情。 “输入一个无符号数,然后调用它的数字,然后输入数字的双精度值,然后输出数字的和和积(如果数字为零,则输入0双精度; 0数之和为0) 0的数字是1)“在C++中用循环解决这个问题的方法是什么?

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

编辑:

这是我到目前为止,我目前混淆的事情是如何使无符号变量的环内双输入的数量。

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; 
+0

请发布您迄今为止编写的代码。另请参阅[如何调试小程序](http://ericlippert.com/2014/03/05/how-to-debug-small-programs/)。 –

+3

'输入一个无符号的名称并调用它'这个步骤到目前为止你的代码是什么? –

+0

所以基本上,你希望我们为你解释说明?或完成你的任务吗?这两个都不是真正的主题... – ams

回答

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; 
} 
+0

这就是我到目前为止,我目前困惑的是如何使无符号变量成为循环内双输入的数量。 “无符号数; \t INT的x,和; \t为(X = 0; X>数; X ++){ \t \t CIN >>数; \t}” –

+0

请编辑到您的问题。 – ams

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); 
} 

您应该确保您了解每个语句,并准备好证明你的选择;如果没有,你可能没有学到任何东西,也不可能通过你的课程。

相关问题