首页 > 解决方案 > 为什么此代码不适用于偶数之和?

问题描述

我试图找到偶数的总和,但它不起作用。if它仅适用于删除条件后的整数之和。

main()
{

int number, sum, upperlimit;

number=1;
sum=0;
std :: cout << "Please enter the number of digits:";
std :: cin  >> upperlimit;

while(number<=upperlimit)
{   
    if(number%2==0)

    {
    sum = sum + number;
    number = number + 1;    
    }
}   

std :: cout << "sum of 1st " << upperlimit <<" Even digits is:" << sum;
}

当我输入数字时不会去任何地方。

标签: c++11

解决方案


    if(number%2==0)

    {
    sum = sum + number;
    number = number + 1;    
    }

里面number+=1有条件if意味着只有当数字是偶数时它才会继续前进。1因此,例如,一旦您到达,它将永远保持为 a 1

main()
{

int number, sum, upperlimit;

number=1;
sum=0;
std :: cout << "Please enter the number of digits:";
std :: cin  >> upperlimit;

while(number<=upperlimit)
{   
    if(number%2==0)

    {
    sum = sum + number;

    }
    number = number + 1;

}   

std :: cout << "sum of 1st " << upperlimit <<" Even digits is:" << sum;
}

推荐阅读