C语言实验报告之顺序、选择、循环结构_第1页
C语言实验报告之顺序、选择、循环结构_第2页
C语言实验报告之顺序、选择、循环结构_第3页
C语言实验报告之顺序、选择、循环结构_第4页
C语言实验报告之顺序、选择、循环结构_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一、实验的目的1、学习在VC++环境下编辑调试C语言程序的方法。2、掌握在C语言中的各种数据类型,以及如何定义整型、实型、字符型的变量,并进行赋值的方法。3、掌握顺序程序的思路,特别是赋值语句的使用方法。4、掌握各种类型数据的输入输出方法的正确应用,熟悉各种格式控制符的作用。5、学会在选择结构中正确应用关系表达式及逻辑表达式。6、熟练掌握if语句和switch语句的使用。7、学会选择结构问题算法的编制与调试应用。8、熟练掌握while语句、do-while语句和for语句实现循环的方法。9、学会循环问题的编制与调试、运行。二、实验内容与要求本实验涵盖顺序、选择、循环三部分程序设计的应用,要求每部分完成两个问题的源代码的编辑、编译、连接与运行,最终产生相关的运行结果,按规定要求提交相应的实验报告。具体要求完成的问题如下:(谭浩强C语言第四版)(1)P82/2(2)P84/6(3)P112/6(4)P113/9(5)P140/3(6)P141/16三、算法设计思想(1)P82/2:存款利息的计算。有1000元,想存5年,可按以下5种办法存:(1)一次存5年。(2)先存2年期,到期后将本息再存3年期。(3)先存3年期,到期后将本息再存2年期。(3)存1年期,到期后将本息再存1年期,连续存5次。(2)存活期,活期利息每一季度结算一次。2007年12月的银行存款利息如下:1年期定期存款利息为4.14%;2年期定期存款利息为4.68%;3年期定期存款利息为5.4%;5年期定期存款利息为5.85%;活期存款利息为0.72%(活期利息每一季度结算一次利息)。如果为年利率,为存款年数,则计算本息和点的公式是:1年期本息和:p=1000*(1+r).年期本息和:p=1000*(1+n*r).存次年期的本息和:p=1000*pow(1+r,n).活期存款本息和:p=1000*pow(1+r/4,4n).说明:1000*(1+r/4)是一个季度的本息和.定义数据类型,进行相关运算并输出结果P84/6:请编程序将“China”译成密码,密码规律是:用原来的字母后面第4个字母代替原来的字母。例如,字母“A”后面第4个字母是“E”,用“E”代替“A”。因此,“China”应为“Glmre”。请编一程序,用赋初值的方法使c1,c2,c3,c4,c5这5个变量的值分别为‘C’,‘h’,‘i’,‘n’,‘a’,经过计算,使c1,c2,c3,c4,cc5分别变为‘G’,‘1’,‘m’,‘r’,‘e’。分别用putchar函数和printf函数输出这5个字符。定义字符常量,进行ASCII值的运算,输出对应字符,注意对输出字符的格式声明。P112/6:有一函数:Y=x(x<1)&&2x-1(1<=x&&x<10)&&3x-11(x>=10)写程序,输入X的值,输出Y相应的值。用if语句判断x的值,根据x的值决定计算后y的值。因为y的可能值不是两个而是3个,所以不能只用一个简单的if语句,而应用嵌套的if语句来实现。P113/9:给一个不多于5位的正整数,要求:1.求出它是几位数;2分别输出每一位数字;3按逆序输出个位数字,例如原数是321,应输出123用if语句判定数字的位数,进行一系列的运算输出每一位数字,用switch语句进行检查得到逆序输出结果。P140/3:输入两个正整数m和n,求其最大公约数和最小公倍数。用辗转相处法可以进行函数嵌套调用,求出最大公约数和最小公倍数。P141/16:输出一下图案:*********"""""""***********用循环的嵌套来处理此问题,用if语句实现循环与判断进行相应字符的输出。四、源程序代码P82/2:#include<stdio.h>#include<math.h>intmain(){floatp0=1000,r1=4・14,r2=4・68,r3=5・4,r4=5・85;floatp1,p2,p3,p4,p5;p1=p0*(1+5*r4/100.0)-p0;p2=p0*(1+2*r2/100・0)*(1+3*r3/100.0)-p0;p3=p0*(1+3*r3/100.0)*(1+2*r2/100.0)-p0;p4=p0*pow(1+r1/100.0,5.0)-p0;p5=p0*pow(1+0.72/(4*100.0),4*5・0)-p0;printf("p1=%7.2f\np2=%7.2f\np3=%7.2f\n",p1,p2,p3);printf("p4=%7.2f\np5=%7.2f\n”,p4,p5);return0;}P84/6:#include<stdio.h>intmain(){charc1='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("译为密码为:%c%c%c%c%c\n”,c1,c2,c3,c4,c5);return0;}P112/6:#include<stdio.h>intmain(){intx,y;printf("请输入一个数:");scanf("%d”,&x);if(x<1)y=x;elseif(1<=x&&x<10)y=2*x-1;elsey=3*x-11;printf("y的值为:%d\n",y);return0;}P113/9:#include<stdio.h>#include<math.h>intmain(){intnum,indiv,ten,hundred,thousand,ten_thousand,place;printf("请输入一个整数(0-99999):");scanf("%d”,&num);if(num>9999)place=5;elseif(num>999)place=4;elseif(num>99)place=3;elseif(num>9)place=2;elseplace=1;printf("位数:%d\n”,place);printf("每位数字为:");ten_thousand=num/10000;thousand=(int)(num-ten_thousand*10000)/1000;hundred=(int)(num-ten_thousand*10000-thousand*1000)/100;ten=(int)(num-ten_thousand*10000-thousand*1000-hundred*100)/10;indiv=(int)(num-ten_thousand*10000-thousand*1000-hundred*100-ten*10);switch(place){case5:printf("%d%d%d%d%d\n",ten_thousand,thousand,hundred,ten,indiv);printf(-逆序输出各位数字:");printf("%d%d%d%d%d\n",indiv,ten,hundred,thousand,ten_thousand);break;case4:printf("%d%d%d%d\n",thousand,hundred,ten,indiv);printf(-逆序输出各位数字:");printf("%d%d%d%d\n”,indiv,ten,hundred,thousand);break;case3:printf("%d%d%d\n”,hundred,ten,indiv);printf("逆序输出各位数字:");printf("%d%d%d\n”,indiv,ten,hundred);break;case2:printf("%d%d\n”,ten,indiv);printf("逆序输出各位数字:");printf("%d%d\n”,indiv,ten);break;case1:printf("%d\n”,indiv);printf(-逆序输出各位数字:");printf("%d\n”,indiv);break;}return0;}P140/3:#include<stdio.h>intmain(){intp,r,n,m,temp;printf("请输入两个正整数n,m:");scanf("%d,%d",&n,&m);if(n<m){temp=n;n=m;m=temp;}p=n*m;while(m!=0){r=n%m;n=m;m=r;}printf("它们的最大公约数为:%d\n”,n);printf("它们的最小公倍数为:%d\n”,p);return0;}P141/16:#include<stdio.h>#include<math.h>intmain(){inti,j,k;for(i=0;i<=3;i++){for(j=0;j<=2-i;j++)printf(-");for(k=0;k<=2*i;k++)printf("*");printf("\n");}for(i=0;i<=2;i++){for(j=0;j<=i;j++)printf("");for(k=0;k<=4-2*i;k++)printf("*");printf("\n");}}五、运行结果及分析(1)P82/2:(2)P84/6:件为密码为:cm典Presskeytocontinue(3)P112/6:III:(4)P113/9:

<0-99999>:10000停位数字为二1酒鲍瓯序琦i由含位数字二9^01i*ressanykeytocontinueII:烹蔓入一个整数<0-99999>:10^0莓位皱字为泌那疲序输由各位数字诚嗨]L^pess<0-99999>:10000停位数字为二1酒鲍瓯序琦i由含位数字二9^01i*ressanykeytocontinueII:烹蔓入一个整数<0-99999>:10^0莓位皱字为泌那疲序输由各位数字诚嗨]L^pessanvkeytocontinueI:(5)P140/3:个为各y一san7V:2数输,爨位序espr0SMJ:1位ke仅供学习交流参考*L*pessanykeytocontinue六、结论与体会(在上机程序调试中遇到的问题、采用的解决办法、得到的收获)C语言的学习

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论