因为你的m再循环过程中变化了,所以n-m这个循环次数也变化了,所以结果是错的
#include <iostream>
using namespace std;
int main()
{
int m, n, t = 0;; cin >> m >> n;
for (int i = m; i <= n; i++)
{
if (i % 2 != 0)
{
t += i;
}
}
cout << t << endl;
return 0;
}
#include<iostream>
using namespace std;
int main()
{
int m, n, t = 0;
cin >> m >> n;
for (; m <= n; ++m)
{
if (m % 2 != 0)
t += m;
}
cout << t << endl;
return 0;
}
#include<iostream>
using namespace std;
int main()
{
int a, b,sum=0;
cin >> a >> b;
for (int i = a; i <= b; i++)
{
if (i % 2 != 0)
sum += i;
}
cout << sum;
}
你的代码复杂了点,i<n-m会随着m++变化,所以要提前固定这个值,其次循环次数得算上m和n,所以不能从1到n-m
#include<iostream>
using namespace std;
int main()
{
int m, n,t=0;
cin >> m >> n;
int d = n - m;
for (int i = 0; i <= d; i++)
{
if (m % 2 != 0)
t += m;
m++;
}
cout << t;
}
for(;m<=n;m++)就可以了,i完全是个多余的变量,算不好还容易整错了
循环实现出错了,修正如下:
#include <iostream>
using namespace std;
int main()
{
int m, n, sum = 0;
cin >> m >> n;
for (int i = m; i <= n; i++)
{
if (i % 2 != 0)
{
sum += i;
}
}
cout << sum << endl;
return 0;
}
运行结果如图:
以上仅供参考,如有任何疑问,可以评论回复,看到即回。
希望对题主有所帮助!可以的话,点个采纳!
你的代码复杂了点,i<n-m会随着m++变化,所以要提前固定这个值,其次循环次数得算上m和n,所以不能从1到n-m
#include<iostream>
using namespace std;
int main()
{
int m, n,t=0;
cin >> m >> n;
int d = n - m;
for (int i = 0; i <= d; i++)
{
if (m % 2 != 0)
t += m;
m++;
}
cout << t;
}