偶数和奇数的C ++循环

时间:2017-06-17 18:43:39

标签: c++

编写一个程序,要求用户输入非负整数X和Y.使用循环,在从X开始并在Y结束处添加和乘以整数之间交替。如果数字是偶数,则将其添加到总数中。如果数字是奇数,则乘以它。例如,如果X = 5且Y = 10,则程序应计算((5 + 6)* 7 + 8)* 9 + 10 = 775。如果X = 2且Y = 5,则计算(2 * 3 + 4)* 5 = 50。

我知道如何分割偶数和奇数,但我不知道如何将它组合在一起。

3 个答案:

答案 0 :(得分:1)

正确解释:
第一步是检查输入是否正确(y大于x且两个值均为正值)。

然后,您初始化将用于将结果返回到x的变量(因为我们始终根据您提供给我们的示例从x开始):int res = x;。< / p>

你有循环:因为我们从x开始,只需从x+1循环到y(包括在内,再​​次根据你给我们的例子):{{1} }

在此循环中,您具有当前值,如果此当前值为偶数,则将其添加到结果变量(for(int i = x+1 ; i <= y; i+=1)),否则(奇怪)将结果乘以当前值({{ 1}})。

在循环之后,您可以返回结果变量并完成作业。



/!\ SPOILER:完整的代码



这是完整的代码

res += i;

我刚刚补充说,如果输入不是“有效”,它会返回-1。

答案 1 :(得分:0)

假设您正在循环XYi是循环中的迭代器/当前数字,tot是您要输出的总数,你的循环,
i是偶数时:

tot += i;

i为奇数时:

tot *= i;

您还必须为tot选择合适的起始值。

我会发布完整的代码,但似乎这是一项任务。

答案 2 :(得分:0)

首先,检查y是否大于X.如果更大,则运行从X开始到Y结束的循环。取一个存储总数的变量。如果循环变量是偶数,则将值添加到总变量中,如果循环变量是奇数,则将该值乘以总变量的值。

int total=0;
if(y>x)
{
   for(int i=x;i<=y;i++)
   {
       if(i%2==0)       //if even
       {
           total += i;
       }
       else         //if odd
       {
           total *= i;  
       }
  }
}
cout<<total;