第五章 循环结构程序设计编程题(参考答案).pdf下载分享
- 资源分享
- 6天前
- 5热度
- 0评论
资料简介
本资料包含了C语言中循环结构的经典编程题目及其参考答案,适合初学者和进阶学习者使用。内容涵盖了基本的for循环应用,如输出特定范围内的整数、字符以及计算数学序列等。通过这些练习,学习者可以加深对循环控制语句的理解,并提高解决实际问题的能力。每道题目都附有详细的代码实现,便于理解和模仿。
文件名称:第五章 循环结构程序设计编程题(参考答案).pdf
文件类型:PDF文档
文件标签:C语言、编程练习、循环结构

内容预览
第五章
循环结构程序设计
1 . 用for 循环语句编程输出1 ~20 之间的所有整数,两数之间以
空格分隔。
#i ncl ude<stdi o. h>
voi d mai n()
{
i nt i ;
for(i =1 ; i <=20; i ++)
pri ntf("%d ", i ) ;
pri ntf("\n") ;
}
2. 用for 循环语句编程输出20~1 之间的所有整数,两数之间以
空格分隔。
#i ncl ude<stdi o. h>
voi d mai n()
{
i nt i ;
for(i =20; i >=1 ; i --)
pri ntf("%d ", i ) ;
pri ntf("\n") ;
}
3. 用for 循环语句编程输出A~Z 之间的所有字符,两字母之间以
空格分隔,要求一行输出8 个字符。
#i ncl ude<stdi o. h>
voi d mai n()
{
char c;
for(c=' A' ; c<=' A' +25; c++)
{
putchar(c) ;
pri ntf(" ") ;
}
}
4. 输出1 00~200 之间所有能被3 和7 整除的数(每行输出4 个数)。
#i ncl ude<stdi o. h>
voi d mai n()
{
i nt i , j=0;
for(i =1 00; i <=200; i ++)
{
i f(i %21 ==0)
{ j++;
pri ntf("%1 2d", i ) ;
i f(j%4==0) pri ntf("\n") ;
}
}
}
5. 输出1 至1 000 之间所有满足用3 除余2、用5 除余3、用7 除
余2 的数(要求每行只输出5 个数)。
#i ncl ude<stdi o. h>
voi d mai n()
{
i nt i , j=0;
for(i =1 ; i <=1 000; i ++)
{
i f((i %3==2) &&(i %5==3) &&(i %7==2) )
{ j++;
pri ntf("%1 2d", i ) ;
i f(j%5==0) pri ntf("\n") ;
}
}
}
6. 先读入一个正整数n,然后计算并显示前n 个偶数的和。例如
n 为5,则求2+4+6+8+1 0 的值,即sum=30。
#i ncl ude<stdi o. h>
voi d mai n()
{
i nt i , n, sum=0;
pri ntf("Pl ease enter an i nteger n: ") ;
scanf("%d", &n) ;
for(i =1 ; i <=n; i ++)
sum+=(2*i ) ;
pri ntf("sum=%d\n", sum) ;
}
7. 计算S=1 +1 /2+1 /3+1 /4+…+1 /200 的值并输出。
#i ncl ude<stdi o. h>
voi d mai n()
{
i nt i ;
fl oat S=0. 0;
for(i =1 ; i <=200; i ++)
S=S+1 . 0/i ;
pri ntf("S=%f\n", S) ;
}
8. 计算1 -3+5-7+…-99+1 01 的值。
#i ncl ude<stdi o. h>
voi d mai n()
{
i nt i , sum=0;
for(i =0; i <=50; i ++)
{
i f(i %2==0) sum+=2*i +1 ;
el se sum-=2*i +1 ;
}
pri ntf("sum=%d\n", sum) ;
}
9. 输入6 个整数并显示其平均值。
#i ncl ude<stdi o. h>
voi d mai n()
{
i nt num, sum=0, i ;
fl oat avg;
pri ntf("Pl ease enter 6 i ntegers: ") ;
for(i =1 ; i <=6; i ++)
{
scanf("%d", &num) ;
sum+=num;
}
avg=sum/6. 0;
pri ntf("avg=%f\n", avg) ;
}
1 0. 输出Fi bonacci 数列的前几项,直到该项的值大于1 0000 为
止(
每行输出
5
项
)
。
Fi bonacci
数列
为
1 , 1 , 2, 3, 5, 8, 1 3, 21 , 34,…。即第一项和第二项为1 ,其他项为
前两项之和。
#i ncl ude<stdi o. h>
voi d mai n()
{
i nt f1 =1 , f2=1 , f3=2, i =3;
pri ntf("%d\t%d\t%d\t", f1 , f2, f3) ;
whi l e(f3<=1 0000)
{
f1 =f2; f2=f3;
f3=f1 +f2;
pri ntf("%d\t", f3) ;
i ++;
i f(i %5==0) pri ntf("\n") ;
}
}
1 1 . 输出1 0000 至99999 中所有的回文数(回文数是指从左到右
读与从右到左读都一样的正整数,如1 1 , 22, 3443, 94349 等)。
#i ncl ude<stdi o. h>
voi d mai n()
{
l ong i ;
i nt ge, shi , qi an, wan, k=0;
for(i =1 0000; i <=99999; i ++)
{
ge=i %1 0; wan=i /1 0000;
shi =i /1 0%1 0; qi an=i /1 000%1 0;
i f(ge==wan&&shi ==qi an)
{
k++;
pri ntf("%1 2d", i ) ;
i f(k%5==0) pri ntf("\n") ;
}
}
}
1 2. 找出所有“水仙花数”。所谓水仙花数是指一个三位数,其各
位数字立方和等于该数本身。例如,1 53 是水仙花数,因为
1 53=1 ^3+5^3+3^3.
#i ncl ude<stdi o. h>
voi d mai n()
{
i nt i , ge, shi , bai ;
for(i =1 00; i <=999; i ++)
{
ge=i %1 0;
shi =i /1 0%1 0;
bai =i /1 00; ...