当前位置: 代码迷 >> C语言 >> [求助]新手问C语言问题
  详细解决方案

[求助]新手问C语言问题

热度:278   发布时间:2006-09-04 21:35:46.0
[求助]新手问C语言问题
#include<stdio.h>
main()
{
int a,b;
for(a=1,b=1;a<=100;a++)
{if(b>=20) break;
if(b%3==1){b+=3;continue;}
b-=5
}
printf("%d\n",a);
}
本程序是一个a记录b符合 b%3==1的次数的问题
但是从那里能确定a是随着b符合的次数增加的呢???
我知道a++是表示的增加 但是怎么也看不出来跟b有什么关系啊
对了 顺便请大哥大姐们给解释下 b-=5
是啥个意思啊 谢谢啦
搜索更多相关的解决方案: C语言  

----------------解决方案--------------------------------------------------------
b-=5meanb-5=5
----------------解决方案--------------------------------------------------------
程序好象不对!
----------------解决方案--------------------------------------------------------

好象也没有人会写这样的程序吧.这个程序根本就不和题意.


----------------解决方案--------------------------------------------------------

for(a=1,b=1;a<=100;a++)
{if(b>=20) break;
if(b%3==1){b+=3;continue;}
b-=5;
}

a=1,b=1---->b=4,a=2
b=4,a=2---->b=7,a=3
b=4,a=3---->b=10,a=4
b=10,a=4--->b=13,a=5
b=13,a=5--->b=16,a=6
b=16,a=6--->b=19,a=7
b=19,a=7--->b=22,a=8
跳出 b-=5没有执行.

for(a=0,b=1;b<=100;b+=3)

a++;

printf("%d\n",a);


----------------解决方案--------------------------------------------------------

嗯。楼上分析的正确,楼主要注意的是,continue是跳到了for循环那里,而不是到if那里!


----------------解决方案--------------------------------------------------------

谢谢了
尤其感谢 nuciewth和神经塔
回答了我好几个问题了 感动啊


----------------解决方案--------------------------------------------------------
  相关解决方案