C语言 四川师范大学 信息与计算科学 冯山实验五.docx

上传人:b****3 文档编号:1430520 上传时间:2022-10-22 格式:DOCX 页数:11 大小:371.97KB
下载 相关 举报
C语言 四川师范大学 信息与计算科学 冯山实验五.docx_第1页
第1页 / 共11页
C语言 四川师范大学 信息与计算科学 冯山实验五.docx_第2页
第2页 / 共11页
C语言 四川师范大学 信息与计算科学 冯山实验五.docx_第3页
第3页 / 共11页
C语言 四川师范大学 信息与计算科学 冯山实验五.docx_第4页
第4页 / 共11页
C语言 四川师范大学 信息与计算科学 冯山实验五.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

C语言 四川师范大学 信息与计算科学 冯山实验五.docx

《C语言 四川师范大学 信息与计算科学 冯山实验五.docx》由会员分享,可在线阅读,更多相关《C语言 四川师范大学 信息与计算科学 冯山实验五.docx(11页珍藏版)》请在冰豆网上搜索。

C语言 四川师范大学 信息与计算科学 冯山实验五.docx

C语言四川师范大学信息与计算科学冯山实验五

数学与软件科学学院实验报告

2015年6月5日

课程名称:

C语言程序设计专业:

信息与计算科学2014级6班

实验编号:

实验五指导教师:

冯山

某某:

杨帆学号:

2014060634实验得分

 

一、实验目的

(1)复习和掌握算法的根本组成要素和描述特点;

(2)在实验四的根底上,学习几种常见的循环程序的流程关系和运用方法;

(3)不同循环类型之间的转换方法;

(4)循环的应用。

二、实验内容

1.循环实验〔教材习题5-20〕。

具体要求:

(1)绘制流程图,编制程序代码。

(2)分析不进入循环、只循环一次、只循环两次、进入死循环的条件,以与此时各变量的值。

(3)分析循环退出时的条件表达式值。

(4)如何测试循环的次数?

(5)能否将程序改写成另外的形式,如while改写成dowhile或for语句?

(6)总结条件循环的设计、实现步骤和测试方法。

2.计数型循环实验(教材习题5-30):

九九表与其变体形状的打印。

具体要求如下:

(1)分析并绘制九九表的程序实现代码(右上三角形状);

(2)分析程序的执行过程;

(3)*请在此根底上修改局部程序代码以打印如下一些变形九九表:

右下三角、左上三角、左下三角、倒序排列等形状,并观察、分析和总结其规律。

(4)分析并总结计数型循环在dowhile,while和for循环句型中的实现方法和步骤。

3.其它实验题目:

(1)习题5-1(小孩吃梨问题);

(2)习题5-4(水果拼盘问题);

(3)求两个非负整数u和v的最大公因子;

 

(4)求两个非负整数的最小公约数;

(5)用牛顿迭代法求解正实数a的平方根;

(6)用梯形法求函数的数值积分;

(7)把由键盘输入的数列〔1,3,5,7,9...〕按相反的顺序〔如...9,7,5,3,1〕输出。

4.习题5-27和习题5-28。

 

三、实验准备

(1)编写所选实验题目的程序代码和流程图;

(2)检查源程序并给出其可能的运行结果说明。

四、实验步骤与结果

1.循环实验〔教材习题5-20〕。

具体要求:

(1)绘制流程图,编制程序代码

 

流程图如下:

 

a>100?

 

 

a>100?

 

程序代码如下:

#include

intmain(void)

{

floata,b,fsum,sum;

clrscr();

printf("Pleaseinputonenumber:

\n");

scanf("%f",&a);

if(a<10&&a>0)

{

for(b=0;b<=a;b++)

{

fsum=b*0.1;

}

printf("sum=%f",sum=fsum+0);

}

if(a<20&&a>=10)

{

for(b=10;b<=a;b++)

{

fsum=(b-10)*0.075;

}

printf("sum=%f",sum=fsum+1.0);

}

if(a<40&&a>=20)

{

for(b=20;b<=a;b++)

{

fsum=(b-20)*0.05;

}

printf("sum=%f",sum=fsum+1.75);

}

if(a<60&&a>=40)

{

for(b=40;b<=a;b++)

{

fsum=(b-40)*0.03;

}

printf("sum=%f",sum=fsum+2.75);

}

if(a<100&&a>=60)

{

for(b=60;b<=a;b++)

{

fsum=(b-60)*0.015;

}

printf("sum=%f",sum=fsum+5);

}

if(a>=100)

{

for(b=100;b<=a;b++)

{

fsum=(b-100)*0.01;

}

printf("sum=%f",sum=fsum+3.95);

}

getchar();

return0;

(2)分析不进入循环、只循环一次、只循环两次、进入死循环的条件,以与此时各变量的值。

答:

不进入循环:

a<=0的时候不进入循环;

只循环一次:

a=1或a=12或a=22或a=42或a=62的时候只循环一次;

只循环两次:

a=2或=13或a=23或a=43或a=63的时候只循环两次;

进入死循环:

a无限。

(3)分析循环退出时的条件表达式值。

答:

循环退出时是sum=fsum+次循环以上所有循环的最后最大值。

(4)如何测试循环的次数?

答:

用if语句来标明,比如,当a=2时,循环2次,就令printf输出2。

(5)可以,原语句是for的语句,而dowhile语句与for实质都一样。

(6)总结条件循环的设计、实现步骤和测试方法。

a确定加法的开始点,完毕点和当前加数值。

b确定循环控制变量的增长步长。

c将和加到另一个变量中去

2.计数型循环实验——九九表的打印下三角

上三角:

 

流程图如下:

 

 

注意:

只需控制i,j使得在某些位置置空或者为“%d*%d=%d〞,i,j,i*j即可。

要有模块化的思想,先考虑行,再考虑列,最后再考虑每个元素。

for(表达式1;表达式2;表达式3)

〔1〕先执行表达式1〔循环中只执行一次〕,且表达式1可提前到for()语句之前,但其后的“;〞不能少。

〔2〕表达式2为真时执行循环体语句组,为假时完毕循环并执行循环体外语句组。

〔3〕计算表达式3并返回第〔2〕步。

 

3.习题5-1小孩吃梨问题;

程序代码如下:

运行结果:

流程图如下:

 

4.求100-1000中所有能表示成立方的书,水仙花数。

5.把由键盘输入的数列〔1,3,5,7,9...〕按相反的顺序〔如...9,7,5,3,1〕输出。

程序如下:

#include

intmain(void)

{

intarr[5]={1,3,5,7,9},*pt_arr;

clrscr();

pt_arr=&arr[4];

for(;pt_arr>=arr;pt_arr--)

{

printf("%d",*pt_arr);

}

return0;

}

运行结果如下:

五:

收获

在本次实验中根本掌握了几种常见的循环结构for,while,dowhile,熟悉了不同循环类型之间的转换方法和循环结构的嵌套。

此外了解到描绘流程图能极大的方便对整个程序的编写,并已掌握其根本画法。

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1