我需要一些建议和有用的指示,以帮助我朝着正确的方向前进。我的函数用于计算输入a和输入b之间有多少偶数。
int evens(int a, int b)
{
int p = 0;
for(int i=a; i<=b; i++)
{
if(i % 2==0)
++p;
return (p);
}
}
从逻辑上讲,这个功能对我来说很有意义,很容易理解发生了什么。但是,当我运行程序时,无论输入#是什么,它都将P返回为“1”。这让我相信循环是出于某种原因只运行一次然后就是这样。
答案 0 :(得分:3)
可以像这样重写它:
int evens(int a, int b) {
if(a != b)
return ((b-a)/2)+1; //I can't think straight, I don't know why
else {
if(a % 2 == 0)
return 1;
else
return 0;
}
}