注册 登录
编程论坛 新人交流区

[求助]看看这个for循环

nofarewell 发布于 2007-10-22 10:16, 691 次点击
程序如下:
#include <iostream.h>
void main()
{
int a,b;
for(a=1,b=1;a<=100;a++)
{
if(b>=10)
break;
if(b%3==1)
{
b+=3;
continue;
}
}
cout<<a;
}

问程序的输出结果是多少?运算过程是怎么样的,能帮我详细分析一下么?谢谢了!
26 回复
#2
victortkl2007-10-22 10:30
...
这个都不知道的话,建议找本书看看,入门还是看书好
#3
nuciewth2007-10-22 11:03
单步执行一下.
#4
greedrock2007-10-22 11:07
#5
greedrock2007-10-22 11:07
新人
#6
z26344752007-10-22 13:32
for(a=1这里少了个分号   
#7
罗时源2007-10-22 13:36
输出的是4
#8
jinghua2007-10-22 14:39
#9
spinach_xu2007-10-22 15:01
a=4
#10
tuguy832007-10-22 15:55
输出是4, 楼主把它运行一下就行了啊。
#11
rayxiang2007-10-22 19:45

你的B没有进行自加,他的直一直都没有变的
那么下面的IF语句就没有用老

#12
y89328092007-10-22 20:32

输出是4你的变量b没有自加还把他放到for循环里有什么用啊

#13
satanwu2007-10-22 20:46

楼主大概还不知道用什么来运行吧,用VISUAL C++

#14
lemon75422007-10-22 21:25

a=4

#15
绝地天使2007-10-22 21:41
新人
#16
风流上进2007-10-23 10:06
if(b%3==1)
什么意思啊
#17
C语言的深度2007-10-23 10:47

语法错误

#18
C语言的深度2007-10-23 10:49
if(b%3==1)的意思就是 如果你给B输入变量是5
%是求余的意思
#19
重飞2007-10-23 11:35

路过

#20
zhulinfeng2007-10-23 13:25
白云飘飘
a=4 b=10

[此贴子已经被作者于2007-10-23 13:27:47编辑过]

#21
neufcl2007-10-23 13:48
回复:(nofarewell)[求助]看看这个for循环

第一步:a=1,b=1
条件b>=10不满足,
b=b+3=4
continue
a=a+1=2
循环下去直到b=10时,循环进行了三次。所以a=4

#22
neufcl2007-10-23 13:49
以下是引用风流上进在2007-10-23 10:06:29的发言:
if(b%3==1)
什么意思啊

b对3求余值为1

#23
lonely002007-10-23 14:40
这个都不能自己分析的话还不如不要学了哈!!!!!!
#24
xxjzx2007-10-23 14:44
运行过程是这样的:
程序开始进入第一次循环,先判断d的值是否>=10,如是是则跳出循环,不是的话再判断d除3的余数,如果是1,则d加3,因为d的初值是1所以满足条件,此时d自加3变为4,然后程序进入第二次循环!第二次循环以后,d的值变为7,进入第三次循环,第三次循环以后,d的值变为10,此时满足条件1,循环体结束!但for循环有个特点就是执行完判断循环条件的语句后要先执行改变循环变量值的语句在此题中也就是执行a++,执行完a++以后才进循环体,看满足不满足循环体中的条件,满足就结束循环,不满足继续循环,所以此题结束循环时,a的值不是3而是4就是这个原因!不知这样解释楼主明白否!
#25
vivian09172007-10-23 15:50
呵呵!~
#26
只会C2007-10-23 16:07
还是这的问题省脑筋
#27
gylin_19822007-10-23 19:14
回复:(nofarewell)[求助]看看这个for循环
自己装了编译器,运行一下就知道了啊
1