打印奇数1-15的产品

时间:2013-03-13 19:54:05

标签: c++

我需要编写一个程序,打印出1到15之间所有奇数整数的乘积。无论我尝试什么,它都行不通,只打印产品。我搞砸了if声明吗?这是我的代码:

//Sophia Ali
#include <iostream>

using namespace std;



int main()
{
    int i;
    int product;

    for ( i = 1; i <=15; i+=2)
    {
        if(i%2!=0)
            product = product * i;
        else
            continue;

    }
    cout << "\n product: " << product;
    return 0;
}

3 个答案:

答案 0 :(得分:5)

首先,您不初始化product,这意味着您最终会遇到未定义的行为。您可能希望将其初始化为1

int product = 1;

此外,循环中的if条件总是为真,因为无论如何你在每次迭代时将i增加2,所以它没有用处:

for ( i = 1; i <=15; i+=2)
{
    product = product * i;
}

答案 1 :(得分:0)

初始化product

product = 1;

选择其中一个

 for (i = 1; i <=15; i++)
 {
   if(i%2 != 0)
     product *= i;
 }

 for (i = 1; i <=15; i+=2)
 {
     product *= i;
 }

答案 2 :(得分:0)

C ++没有为你定义任何东西。所以当你在main函数的第二行声明int product;时,你应该使用int product = 1;。否则,当您在for循环中使用product = product * i时,您要将不存在的数字乘以i,这是不可能的。