当前位置:文档之家› 实验5_循环结构程序设计2题目及解答

实验5_循环结构程序设计2题目及解答

4.3 循环结构程序设计2
【注意事项:
(1)题中页码均为《C语言程序设计教程》中的页码
(2)题后为原程序文件名
(3)仅提交名为【*.c】的源程序文件,可一起提交,也可逐题提交
调试程序中常见问题及处理方法:
(1)出现死循环时:关闭运行窗口即可。


1、按照下面的流程图书程序,用for语句实现。

【提示:参见p97—例4.23 ,并按照下面的左流程图书写007张三511.c,右流程图书写007张三512.c 程序运行结果:
s=2550

2、用for语句编程,求300~500之间的水仙花数(如135:153=13+53+33)。

(007张三52.c)
【程序运行结果:
300~500之间的全部水仙花数如下:⋃⋃370⋃⋃371⋃⋃407 】
3、判断输入的数是否为素数。

【提示:素数是只能被1和其自身和整除的数,】(007张三53.c)
【提示:参见p114—例4.36
程序运行时:程序运行结果:
请输入一个正整数:25↵25不是素数
请输入一个正整数:12↵125不是素数
请输入一个正整数:13↵13是素数

4、判断输入的一个不超过32767的正整数是几位数。

(007张三54.c)【提示:按照右侧的N-S图编程
运行时:运行结果:
请输入一个正整数(1~32767): 135↵135是3位数请输入一个正整数(1~32767): 1356↵1356是4位数请输入一个正整数(1~32767): 28906↵28906是5位数】
附加题:
1、求出100~200间的所有素数。

(007张三5附加1.c )。


运行结果:
101 103 107 109 113 127 131 137 139 149 151 157 163
167 173 179 181 191 193 197 199

2、根据以下公式求π值(直到最后一项小于10
–6
为止)(007张三5附加2.c )

运行结果: pi=3.141590

3、百钱百鸡问题中国古代数学家张丘建在他的《算经》中提出了著名的“百钱买百鸡问题”:鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问翁、母、雏各几何?(007张三5附加3.c ) 【提示:在编程之前,需先根据题意列出方程, 如: 设鸡翁x 只,鸡母y 只,鸡雏z 只
则有下列方程: x+y+z=100 和 5x+3y+z/3=100
因为2个方程,3个未知数,故为不定方程,需用穷举法解题。

运行结果:
x=0⋃⋃⋃ y=25⋃⋃z=75⋃⋃ x=4⋃⋃⋃ y=18⋃⋃z=78⋃⋃
x=8⋃⋃⋃ y=11⋃⋃z=81⋃⋃
x=12⋃⋃ y=4⋃⋃⋃z=84⋃⋃
】 参考解答: 1、~2、略 3、
#include <stdio.h> void main( ) {
int x, I, k;
printf(“请输入一个正整数:”); scanf("%d", &x); k=x/2; while ( i <=k ) {
if( x%i ==0 ) break; }
if ( i>k ) {
printf(“%d is \n”, x);
}
⋅⋅⋅⋅⋅⋅+⋅⋅⋅+⋅⋅+⋅++=9
4
73523173523152313112π
else
{
printf("%d is not\n", x);
}
}
4、
#include <stdio.h>
void main( )
{
int x, n=0,s;
printf("请输入一个正整数(1~32767):");
scanf("%d", &x);
s=x;
while ( s !=0 )
{
n++;
s=s/10;
}
printf("%d是%d位数\n",x,n);
}
附加1:

附加2:
#include <stdio.h>
void main( )
{
double pi=0.0, t=1.0;
int n;
for ( n=1; t>=1e-6; n++ )
{
pi += t;
t = n*t/(2*n+1);
}
printf("pi=%f\n", 2.0* pi );
}
3、#include <stdio.h>
void main( )
{
int x,y,z; /*x-公鸡数,y-母鸡数,z小鸡数*/ for( x=0; x<=20; x++ )
{
for(y=0; y<=33; y++)
{
z=100-x-y;
if( (z%3==0) && (5*x+3*y+z/3==100 ))
{
printf("x=%-4dy=%-4dz=%-4d\n", x, y,z);
}
}
}
}。

相关主题