C语言 四川师范大学 信息与计算科学 冯山实验五.docx
- 文档编号:29394312
- 上传时间:2023-07-23
- 格式:DOCX
- 页数:11
- 大小:390.14KB
C语言 四川师范大学 信息与计算科学 冯山实验五.docx
《C语言 四川师范大学 信息与计算科学 冯山实验五.docx》由会员分享,可在线阅读,更多相关《C语言 四川师范大学 信息与计算科学 冯山实验五.docx(11页珍藏版)》请在冰豆网上搜索。
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?
程序代码如下:
#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+3.35);
}
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,熟悉了不同循环类型之间的转换方法和循环结构的嵌套。
此外了解到描绘流程图能极大的方便对整个程序的编写,并已掌握其基本画法。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言 四川师范大学 信息与计算科学 冯山实验五 语言 四川 师范大学 信息 计算 科学 实验