岁月联盟 - 技术社区 - BBS.SYUE.COM's Archiver

hackprince 发表于 2008-4-11 04:36

C语言初级代码研究 第一课

请分析下列程序的输出结果及过程(以及问题):
#include<stdio.h>
main()
{int a,b;
for(a=1,b=1;a<=100;a++)
{if(b>=30) break;
if(b%3==1)
{b+=3;
continue;
}
b-=5;
}
printf("a=%d\n",a);
}此题收集与  编程爱好者[url]http://www.programfan.com/club/post-272606.html[/url]  一学员的提问  觉得有典型化  拿出来 考考新人了

[[i] 本帖最后由 hackprince 于 2008-4-11 20:39 编辑 [/i]]

hackprince 发表于 2008-4-11 04:56

答案后面提供 大家快点找错哦!!!![(:lol:)]

[[i] 本帖最后由 hackprince 于 2008-4-11 05:17 编辑 [/i]]

qw12520 发表于 2008-4-11 17:46

#包括&lt; stdio.h &gt;
主( )
(诠释甲,乙;
为(一= 1 ,乙= 1 ; &lt; = 100分; + + )
(如果(二&gt; = 30 ) ,打破;
如果(二% 3 == 1 )
(即B + = 3 ;
继续下去;

的B = 5 ;

printf ( " = % d和\ N "的,一) ;

hackprince 发表于 2008-4-11 20:43

来分析下
#include<stdio.h>
main()
{int a,b;       声明a和b
for(a=1,b=1;a<=100;a++)
{if(b>=30) break;   如果b大于30 则休止
if(b%3==1)   
{b+=3;       b每次递加3
continue;
}
b-=5;
}
printf("a=%d\n",a);
}

此题看似   a没有关联   请大家探究

公布答案      输出结果为     a=11

wander 发表于 2008-4-11 21:32

不是太难,看懂了!

hackprince 发表于 2008-4-11 22:39

恩 第一课  
我就很郁闷了 为什么这么简单的    看帖率很高
而 能回答的 没3个人
答对的 没一个

阿冰 发表于 2008-4-12 13:02

??

hackprince 发表于 2008-4-18 22:36

其实很简单的意思
b从1开始 每次递加3  知道加满或超过30 为止 才停
然后a计算  b总共加了多少次
答案是11次

wxjqq11 发表于 2008-7-15 21:56

这还简单吗我觉得有点难哦!我还没有看懂呢!

页: [1]

Powered by Discuz! Archiver 7.0.0  © 2001-2007 Comsenz Inc.