- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
实验三循环结构程序设计(参考答案)
1、设计程序sy3-1.c,要求打印小学九九乘法表。
算法分析:
根据九九乘法表可知,该表共有9行,第i行有i个表达式,而且表达式中的操作数和行、列数相关,
因此可以用嵌套的双重循环来实现,外循环控制行数(循环变量从1到9),内循环控制每行的表达式个数
(循环变量从1变到i)。
参考答案:
#includestdio.h
voidmain()
{
inti,j;
for(i=1;i=9;i++)
{
for(j=1;j=i;j++)
}
}
运行结果:
n
2、设计程序sy3-2.c,要求编程计算x,其中x和n均由键盘输入2。
算法分析:
要计算x的n次方,即是n次x相乘,其中x可以是整型或实型,而n必须是整型;另外要考虑结果
的类型,若x和n比较大,一般的int型容易产生溢出。
参考答案:
#includestdio.h
voidmain()
{
inti,n;
floatx,p=1;/*累乘器要赋初值1*/
/*以逗号分隔输入的已知数据x和n的值*/
for(i=1;i=n;i++)
p=p*x;
}
运行结果:
3、设计程序sy3-3.c,已知祖父年龄70岁,长孙20岁,次孙15岁,幼孙5岁,问要过多少年,三个孙子
的年龄之和同祖父的年龄相等,试用单重循环结构编程实现。
算法分析:
这个程序可以用穷举法来实现,1年、2年、3年……,每加一年都判断三个孙子的年龄之和是否同祖
父的年龄相等,若相等则不加了,这个时候所加的年数为我们需要的结果。
参考答案:
#includestdio.h
voidmain()
{
inti,a,b,c,d;
a=20;b=15;c=5;d=70;
i=1;
while(a+i+b+i+c+i!=d+i)
i++;
}
运行结果:
4、设计程序sy3-4.c,有一数列:2/1,3/2,5/3,8/5,…求出这个数列的前10项之和。
算法分析:
这是一个序列累加的算法,第一项的值是2/1,之后每一项的规律是:分母为前一项的分子,分子为
前一项分子分母之和;另外注意在除运算中若分子分母都为整数则结果也为整数,显然在这道题中分子分
母的类型应为实型。
参考答案:
#includestdio.h
voidmain()
{
inti;
floats=0,a=2,b=1,c,t;
for(i=1;i=10;i++)
{t=a/b;/*计算确定分子分母后当前项的值*/
s=s+t;/*将当前项t的值累加到求和变量s当中*/
c=a;/*将前一项的分子暂存于c变量中*/
a=a+b;/*修改下一项的分子为前一项分子分母之和*/
b=c;/*修改下一项的分母为前一项的分子*/
}
}
运行结果:
5、设计程序sy3-5.c,一球从200米高度自由落下,每次落地后反跳回原高度的四分之一,再落下。编程
求它第10次落地时共经过的路程及第10次落地后反弹的高度。
算法分析:
该题也是进行多次加操作、求最终和的问题。在这里要定义一个变量(s)记录小球反复落地总共经
历的高度,还要定义一个变量(h)表示小球每次反弹起来的高度。需要注意的一点是,小球第一次落地
时经历的路程为初始高度,即s
文档评论(0)