顺序、选择、循环三种基本结构程序设计.
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
昆明理工大学信息工程与自动化学院学生实验报告
(2012 —2013 学年第一学期)
课程名称:结构化程序设计与C语言开课实验室:系机房444 2012 年10月21日
一、实验的目的
1、学习在VC++环境下编辑调试C语言程序的方法。
2、掌握在C语言中的各种数据类型,以及如何定义整型、实型、字符型的变量,并进
行赋值的方法。
3、掌握顺序程序的思路,特别是赋值语句的使用方法。
4、掌握各种类型数据的输入输出方法的正确应用,熟悉各种格式控制符的作用。
5、学会在选择结构中正确应用关系表达式及逻辑表达式。
6、熟练掌握if语句和switch语句的使用。
7、学会选择结构问题算法的编制与调试应用。
8、熟练掌握while语句、do-while语句和for语句实现循环的方法。
9、学会循环问题的编制与调试、运行。
二、实验内容与要求
本实验涵盖顺序、选择、循环三部分程序设计的应用,要求每部分完成两个问题的源代码的编辑、编译、连接与运行,最终产生相关的运行结果,按规定要求提交相应的实验报告。具体要求完成的问题如下:(注意:在模板中给出了题的页数与题号,请写正式报告时将书上的题目内容代替页数与题号)
(1)P82/2
(2)P84/6
(3)P112/6
(4)P113/9
(5)P140/5
(6)P141/16
三、算法设计思想或程序流程图
(1)设:五年期,三年期,二年期,一年期,活期存款分别为:r5,r2,r3,r0;
第一种,第二种,第三种,第四种,第五种五年期存款的本息和分别为
p1,p2,p3,p4,p5。
则有:
p1=p*((1+r5)*5); 一次存5年期
p2=p*(1+2*r2)*(1+3*r3); 先存2年期,到期后将本息再存3年期
p3=p*(1+3*r3)*(1+2*r2); 先存3年期,到期后将本息再存2年期
p4=p*pow(1+r1,5); 存1年期,到期后将本息存再存1年期,连续存5次
p5=p*pow(1+r0/4,4*5); 存活期存款。活期利息每一季度结算一次
再将所得数据一一输出即可。
(2) 先分别把c1,c2,c3,c4,c5分别赋初值为c,h,I,n,a.
想要让它们的字母分别增加四位。只需将它们的ASCII码增加4个数就可以。便有
c1=c1+4; c2=c2+4 c3=c3+4; c4=c4+4; c5=c5+4;再将所得值以字符型输出便可
(3)输入x,用if语句判断X的值的范围。X<1将x的值赋给y并输出。
除此情况之外(x>1)再进行分类。若x<10则y=2*x-1。除此情况之外,y=3*x-11. (4)先判断它的位数。如果这个数大于9999则输出5;排除这种情况,大于999则输出4…以此类推。
分别输出每一位数字:几位数字便除以此位数的最小值。如9999便除以1000,由于都是整型,便得到9。依次除下去。得到的各位整数在赋给各个变量,反序输出。
(5)用tn=tn+a语句代表赋值后的tn为i个 a组成数的值
用 sn=sn+tn语句代表赋值后的sn为多项式前i项之和
用while语句实现在I (6)将菱形分为上下两个部分,每个部分为一个三角形。设置两个变量I,j分别控制行和列。再用两个循环语句分别对上下两个三角进行控制。 四、源程序代码 (1) #include #include int main() {float r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5; p=1000; r5=0.0585; r3=0.054; r2=0.0468; r1=0.0414; r0=0.0072; p1=p*((1+r5)*5); p2=p*(1+2*r2)*(1+3*r3); p3=p*(1+3*r3)*(1+2*r2); p4=p*pow(1+r1,5); p5=p*pow(1+r0/4,4*5); printf("p1=%f\n",p1); printf("p2=%f\n",p2); printf("p3=%f\n",p3); printf("p4=%f\n",p4); printf("p5=%f\n",p5); return 0; } (2) #include int main() {char c1='C',c2='h',c3='i',c4='n',c5='a'; c1=c1+4; c2=c2+4; c3=c3+4; c4=c4+4; c5=c5+4; printf("passwor is %c%c%c%c%c\n",c1,c2,c3,c4,c5); return 0; } (3) #include int main() { int x,y; printf("输入x:"); scanf("%d",&x); if(x<1) /* x<1 */ { y=x; printf("x=%3d, y=x=%d\n" ,x,y); } else if(x<10) /* 1= { y=2*x-1; printf("x=%d, y=2*x-1=%d\n",x,y); } else /* x>=10 */ { y=3*x-11; printf("x=%d, y=3*x-11=%d\n",x,y); } return 0; } (4) #include #include int main() { int num,indiv,ten,hundred,thousand,ten_thousand,place;