新微赢技术网

标题: 关于do while 和a++的问题 [打印本页]

作者: (のkisδ≒雪    时间: 2009-11-6 00:18
标题: 关于do while 和a++的问题
#include "qipai.h"

#include<iostream>
using std::cout;
using std::endl;
void main()
{
    int i(1),a(0);
    for(;i<=5;i++)
    {
        do{
            i++;
            a++;
        }
        while(i<3);
        i++;
    }
cout<<a<<","<<i<<endl;
system("pause");
    }
得出来的结果3和8,我怎么想也没办法想通他是怎么个解法会是等于这数的,哪位高手指点一下!!
作者: 丑剑客    时间: 2009-11-6 00:18
把你的 for循环部分改称while循环就好理解一点

while ( i<=5)
    {
        do{
            i++;
            a++;
        }
        while(i<3);
        i++;

        i++;//for循环的i++
    } 本帖最近评分记录
ily1066 积分 +2 2008-12-3 10:35 ily1066 积分 +1 看了有点明白 2008-12-3 10:34  
天行健,君子以自强不息!!  2008-12-2 17:57:42 a19870502

等 级:注册会员
帖 子:113
专家分:0
注 册:2007-10-31
第 3 楼   得分:0  
一开始:i=1,a=0;
进入do。。。while循环:i=2,a=1;i=3,a=2;跳出此循环
然后i=4;i=5;
判断for循环,i=5,再做一次do。。。while:i=6,a=3;跳出此循环
i=7;i=8。 本帖最近评分记录
ily1066 积分 +3 我很赞同 2008-12-3 10:18   2008-12-2 23:48:42 hitcolder

等 级:注册会员
威 望:1
帖 子:124
专家分:0
注 册:2008-10-28
第 4 楼   得分:0  

以下是引用a19870502在2008-12-2 23:48的发言:

一开始:i=1,a=0;
进入do。。。while循环:i=2,a=1;i=3,a=2;跳出此循环
然后i=4;i=5;
判断for循环,i=5,再做一次do。。。while:i=6,a=3;跳出此循环
i=7;i=8。


顶,正解,不过楼主为什么要用“using std::cout;using std::endl;”显式的调用std的成员函数呢,多麻烦啊。 本帖最近评分记录
ily1066 积分 +1 我用的是Microsoft Visual Studio 2005的,没 ... 2008-12-3 10:36  
不要在你的智慧中夹杂傲慢,也不要使你们的谦卑缺乏智慧的成分。  2008-12-3 00:34:58 h13077395959

等 级:新手上路
威 望:1
帖 子:26
专家分:0
注 册:2007-11-16
第 5 楼   得分:0  
嗯,不错不错!
作者: 追梦人︶ㄣ    时间: 2009-11-6 00:18
#include<iostream>
using std::cout;
using std::endl;
int main()
{
    int i(1),a(0);
    for(;i<=5;i++)
    {
        do{
            i++;
            a++;
            cout<<"*\t"<<i<<'\t'<<a<<endl;;
        }
        while(i<3);
        i++;
    }
cout<<a<<","<<i<<endl;
system("pause");
    }




*       2       1
*       3       2
*       6       3
3,8
请按任意键继续. . .




欢迎光临 新微赢技术网 (http://bbs.weiying.cn/) Powered by Discuz! X3.2