C语言程序设计实验三文档格式.docx
- 文档编号:16744050
- 上传时间:2022-11-25
- 格式:DOCX
- 页数:19
- 大小:361.54KB
C语言程序设计实验三文档格式.docx
《C语言程序设计实验三文档格式.docx》由会员分享,可在线阅读,更多相关《C语言程序设计实验三文档格式.docx(19页珍藏版)》请在冰豆网上搜索。
在程序测试中遇到的问题:
1、初次接触switch语句,没有很好地出来好switch结构和break跳转语句。
导致程序执行不是输出对于部分,而是全部输出。
2、在运用switch语句中,没有考虑到上一个“casen”中的数据不能直接运用到下一个“casen+1”中,所以在后面赋值时出现错误,所以输出的天数也出现错误。
指导教师批阅及签名签名:
年月日三、实验报告内容年月日实验报告内容原则上应包含主要实验步骤、实验数据计算(实验操作)结果、实验结果(疑问)分析等项目。
实施内容:
一、根据实验要求:
完成教材P52第4题(要求:
分别用if语句和switch语句实现)完成教材P52第5题(分别用if语句和switch语句实现)完成教材P76第3题。
完成教材P76第4题完成教材P76第7、8题所以,编写程序实验程序如下:
1、某班综合考评,根据参加集体活动的次数加分。
(1)使用if语句编写的程序:
#includeintmain()intx;
printf(请输入你参加活动次数:
);
scanf(%d,&
x);
if(x10)printf(获得的加分为:
10n);
elseif(x7)printf(获得的加分为:
8n);
elseif(x3)printf(获得的加分为:
%dn,x);
elseif(x1)printf(获得的加分为:
2n);
elseif(x=1)printf(获得的加分为:
1n);
elseprintf(输入错误,请输入正整数。
n);
return0;
输入对应的数字测试程序:
输入活动次数为“1”时,结果下输入活动次数为“3”时,结果下输入活动次数为“6”时,结果下输入活动次数为“9”时,结果下输入活动次数为“15”时,结果下
(2)使用switch语句编写的程序:
#includevoidmain()intx;
switch(x)case1:
printf(获得加分为:
break;
case2:
case3:
case4:
4n);
case5:
5n);
case6:
6n);
case7:
7n);
case8:
case9:
case10:
default:
if(x10)printf(获得加分为:
输入活动次数为“1”时,结果下输入活动次数为“3”时,结果下输入活动次数为“6”时,结果下输入活动次数为“9”时,结果下输入活动次数为“15”时,结果下2、输入日期,判断该日是当年的第几天。
编写的程序如下:
#includevoidmain()intyear,month,day,sum,sum2;
printf(输入年月日:
scanf(%d.%d.%d,&
year,&
month,&
day);
if(year%4=0&
year%100!
=0|year%400=0)sum2=31+29;
elsesum2=31+28;
switch(month)case1:
if(day32)sum=day;
elseprintf(youinputerror!
=0|year%400=0)if(day30)sum=31+day;
elseif(day29)sum=31+day;
if(day32)sum=sum2+day;
if(day31)sum=sum2+31+day;
if(day32)sum=sum2+31+30+day;
if(day31)sum=sum2+31+30+31+day;
if(day32)sum=sum2+31+30+31+30+day;
if(day32)sum=sum2+31+30+31+30+31+day;
if(day31)sum=sum2+31+30+31+30+31+31+day;
if(day32)sum=sum2+31+30+31+30+31+31+30+day;
case11:
if(day31)sum=sum2+31+30+31+30+31+31+30+31+day;
case12:
if(day12输出错误,计算得出的天数错误。
结果如下:
输入闰年“2012.3.50”因为日数5031输出错误,计算得出的天数错误。
3、统计一个整数的位数。
#include#includevoidmain()intx,y,i;
y=1,i=0;
printf(请输入一个整数:
if(x=0)printf(该整数的位数为:
elsewhile(y!
=0)y=x/(pow(10,i);
i+;
printf(该整数的位数为:
%dn,-i);
输入整数“12345”,得到的位数为5,结果如下所示:
输入整数“1234567890”,得到的位数为10,结果如下所示:
4、输入一批学生成绩,以负数作为结束。
统计不同分数层的人数。
#includevoidmain()intx,y,z,i,j,k;
x=0;
y=0,z=0,i=0,j=0,k=0;
for(;
)printf(请输入学生成绩:
if(x=90)y+;
elseif(x=80)z+;
elseif(x=70)i+;
elseif(x=60)j+;
elseif(x=0)k+;
printf(90分以上人数有%d人,80分以上人数有%d人,70分以上人数有%d人,60分以上人数有%d人,不及格人数有%d人。
n,y,z,i,j,k);
测试程序,输入“90,90,89,87,78,78,67,56,45,,-1”结果如下:
5、从键盘输入指定金额,然后显示支付该金额的各种面额人民币的数量。
#includevoidmain()floaty;
intx,c,i=0;
ints9=10000,5000,1000,500,200,100,10,5,1;
printf(请输入指定金额:
scanf(%f,&
y);
x=100*y;
doc=x/si;
x=x%si;
if(i=0)printf(支付该金额的需人民币100元%d张,,c);
if(i=1)printf(50元%d张,,c);
if(i=2)printf(10元%d张,,c);
if(i=3)printf(5元%d张,,c);
if(i=4)printf(2元%d张,,c);
if(i=5)printf(1元%d张,,c);
if(i=6)printf(1角%d张,,c);
if(i=7)printf(5分%d张,,c);
if(i=8)printf(1分%d张。
n,c);
while(x0);
程序测试,输入指定金额“345.89”得到的结果所下所示:
再输入其他金额“45989.78”得到的结果所下所示:
6、有30人(包括男人、女人和孩子)在一家饭馆吃饭消费50元,其中每个男人花费3元,每个女人花费2元,每个孩子花费1元。
问男人、女人、孩子各有多少人。
编写程序如下:
#includevoidmain()intx,y,z,h,k,m;
/x表示男人,y表示女人,z表示孩子3*x+2*y+z=50;
/男人、女人和孩子一个消费50元h=3*x+2*y+z;
/赋值给hx+y+z=30;
/男人、女人和孩子一共30人k=x+y+z;
/赋值给km=2*k-h;
/得到m=z-x=10,即孩子个数比男人多10个。
for(x=0;
x=10;
x+)z=x+10;
y=30-x-z;
printf(可能是结果为:
男人有%d个,女人有%d个,小孩有%d个。
n,x,y,z);
测试程序,显示结果所下:
二、撰写本次实验的心得体会。
这次实验中,我有学习到了很多新的东西,感觉到C语言越来越有趣。
例如:
我们这次学习的if语句、switch语句的选择结构,while语句、do-while语句和for语句的循环结构。
在if语句中想要快速高效地判断是否执行语句组,就必须定义准确的“判断条件”,在这方面,我深有体会,之前好几次定义的条件有点模糊,所以当程序执行是出现了不同程度的缺陷或错误。
这个时候再去排查会浪费大量的时间,而且查找难度大,所以一个准确的“判断条件”可以使编程变得高效,让我们更好地理解。
所以,我们要学习怎样让我们写的判断条件变得准确,这需要我们不断地练习和参考别人写的一些优秀程序。
而另一种条件结构,switch结构。
我认为switch结构有2个方面很值得注意:
1、switch语句中case-break的运用。
因为没有break的话,语句组就会一开始一直执行到结束,不会分部分输出,不能达到筛选的作用,那么switch结构中的判断表达式就失去意义了,所以要善于结合break语句的运用,达到筛选的作用。
2、case1中运用了break语句,那么case1中的数据不能直接运用到下一个case2中。
因为case之间是不交融的,要用必须在switch语句之前定义。
我们这次实验还有一个重点就是我们的循环语句。
这三种循环语句有不同的特点,while语句先判断条件是否为真,是真则执行,假就结束。
do-while语句是先执行一次再执行判断,是真则继续执行下去。
for语句有三个表达式,分别是“for(初值表达式;
循环条件表达式;
增值变量表达式)”。
三个表达式使用分号隔开的,一般情况下,三个表达式都写。
因为1、我们是初学者有利于我们记忆每一个表达式的意义。
2、有利于我们检查时,对程序的检测。
3、有利于别人阅读我们的程序,这是可读性问题,在编程这方面是很重要的,它关系到信息的共享。
这次我还学到了,每学一种新的语句不是单独使用的,而是要结合前面所学的一起灵活运用,像这次的循环语句在实验中不仅仅是纯循环语句,还可以是循环与条件语句结合、循环语句的嵌套、循环语句与数组的结合,灵活多变的组合让我们的程序更加丰富多彩。
同时,让我们体现到不同的代码有一样的结果。
正如“条条大道通罗马”。
而且,在运用不同的语句进行组合,有利于我们对不同语句的深入了解,清楚这些语句的特点,做到我们在编程时可以得心应手。
再说一下这次实验的题目,我们觉得这次的实验题型还是比较符合我们这次的训练的,同时也可以增加学生的学习探究学习能力,相互讨论能力。
所以这次的题目比较好,希望老师多给我们一些像这次的比较好的实验题目。
对我来说,C语言真的很奇妙,因为短短的几行代码就可以完成我们一些复杂的数学计算,还可以判断不同的情况执行不同的语句,还可以循环利用语句。
就像我们这节课所做的实验一样,一些复杂的问题,在程序上也只是几行代码。
其实,我学习觉C语言最重要的是,要学会思维方式的转变。
我们要想怎样让电脑看得懂我们写的东西,就必须用电脑听得懂的语言跟它交流。
所以说,我们在写程序是不要被我们现实的固定思维绑定,要想的怎样写才能让电脑读得懂,怎样写才高效,这是我们需要学习的。
实验报告评分:
注:
1、如个别实验的实验报告内容多,实验报告册页面不够写,或有识图、画图要求的,学生应根据实验指导老师要求另附相同规格的纸张并粘贴在相应的“实验报告册”中。
2、实验报告册属教学运行材料,院系(中心)应按有关规定归档保管。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 实验