2015-10-05 45 views
-1
之间加整数

我是C++的初学者。我需要编写一个代码,让我在输入的两个数字之间添加和相乘数字。例如:我输入2和4,加法应该是9,乘法应该是24.这是我迄今为止所做的。乘以并在

// sum and multi.cpp : Defines the entry point for the console application.// 

#include "stdafx.h" 
#include <iostream> 
using namespace std; 

int main() 
{ 
    int num1; 
    cout << "Enter number: " << endl; 
    cin >> num1; 

    int sum=0; 
    int mul = 0; 

    for (int i = 0; i <= num1; i++) 
    { 
     sum += i; 
     while (i <= num1) 
     { 
     mul *= i; 
     } 
    } 

    cout << "sum is: " << sum << mul << endl; 

    return 0; 
} 

虽然它做了加法部分,它只会从0到我输入的数字,它不会做乘法部分。需要帮忙!!!!

+4

初始化'mul' 0零次东西等于零。想想另一个数字,这可能是乘法累加器更好的起点。在任何情况下,如目前所写,您将所有数字乘以0和'num1'(包含) - 答案始终为零。 –

+0

看看你的'for'循环初始化和条件。他们没有道理。另外,你的'while'循环没有意义,应该在这里造成无限循环。写出你想要做的事情; *然后*尝试编码。 –

+1

另外,正如@IgorTandetnik所说,你的乘法中有一个逻辑错误。而你从来没有真正要求两个数字;只有一个! –

回答

3

你需要一个数字范围,这样输入数字

int num1, num2; 

cin >> num1 >> num2; 

int sum=0; 
int mul = 1; // Initialize mul to 1, since anything multiplied by 0, results in 0 

for (int i = num1; i <= num2; i++) // Start from num1 and end to num2 
{ 
    sum += i; 
    //while (i <= num1) // Don't need another loop 
    //{ 
     mul *= i; 
    //} 
} 
+0

感谢它结束了锻炼。 –

+3

请标记为答案 –