首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

for循环的了解

2012-08-28 
for循环的理解?#include stdafx.h#include iostreamusing namespace stdvoid main(){int xfor(int i

for循环的理解?
#include "stdafx.h"
#include <iostream>
using namespace std;
void main()
{
  int x;
  for(int i=10;i<=100;i++)
  {
x=i++;
if(x++%2==0)
if(x++%3==0)
if(x++%5==0)
cout<<x<<' ';
  }
  cout<<endl;
cin.get();
}
这个程序的结果为什么是
41 71 101,不理解他的意思呀,请帮帮忙,谢谢!

[解决办法]
有这么一个数,它+1后是2的倍数,再+1后是3的倍数,再+1后是5的倍数,再+1输出了。
41减去4,就是37,+1后是38,再+1就是39,再+1就是40.good
71减去4,就是67,+1后是68,再+1就是69,再+1就是70,ok
以后每隔30个有一个这种数字。
[解决办法]
这个跟for循环没有太大关系,这是x++的问题。x++意思是在当前语句中先处理x的数据,然后x = x + 1。
由于在函数体中又执行了一次i++,所以其实每次循环,i都加了2,而不是1。

C/C++ code
if(x++%2==0)    if(x++%3==0)        if(x++%5==0)            cout<<x<<' ';
[解决办法]
有这么一个数,它是2的倍数,再+1后是3的倍数,再+1后是5的倍数,再+1输出了。
41减去3,就是38,再+1就是39,再+1就是40.good
71减去3,就是68,再+1就是69,再+1就是70,ok
以后每隔30个有一个这种数字。
循环中,也有个限制条件,就是考察偶数。

热点排行