资源描述:
《流程控制实验.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、C语言程序设计实验报告一、实验名称流程控制实验二、实验目的1.掌握复合语句、if语句、switch语句的使用,熟练掌握for、while、do-while三种基本的循环控制语句的使用,掌握重复循环技术,了解转移语句与标号语句。2.练习循环结构for、while、do-while语句的使用。3.练习转移语句和标号语句的使用。4.使用codeblocks开发环境中的调试功能:单步执行、设置断点、观察变量值。三、实验任务1.源程序改错题下面是计算s=n!的源程序,在这个源程序中存在若干语法和逻辑错误。要求在计算机上对这个例子程序进行调试修改,使之能够正确完
2、成指定任务。例如,8!=40320。#includevoidmain(){14/14inti,n,s=1;printf("Pleaseentern:");scanf("%d",n);for(i=1,i<=n,i++)s=s*i;printf("%d!=%d",n,s);}2.源程序修改替换题(1)修改第1题,分别用while和do-while语句替换for语句。(2)修改第1题,输入改为“整数S”,输出改为“满足n!≥S的最小整数n”。例如输入整数40310,输出结果为n=8。3.编程设计题(1)假设工资税金按以下计算方法计算:x<
3、1000元,不收税金;1000<=x<2000,收取5%的税金;2000<=x<3000,收取10%的税金;3000<=x<4000,收取15%的税金;4000<=x<5000,收取20%的税金;x>5000,收取25%的税金。编写一个程序,输入工资金额,输出应收取的税金,要求用if和switch语句来实现。14/14(2)编写一个程序,将输入的一行字符复制到输出,复制过程中将一个以上的空格字符用一个空格字符代替。(3)打印如下杨辉三角形。1/*第0行*/11/*第1行*/121/*第2行*/13311464115101051161520156117
4、213535217118285670562881193684126126843691每个数据值可以由组合计算(表示第i行第j列位置的值),而的计算如下:(i=0,1,2,…)(j=0,1,2,3,…,i)14/14本程序中为了打印出金字塔效果,要注意空格的数目。一位数之间是3个空格,两位数之间有2个空格,3位数之间只有一个空格,程序编制过程中要注意区分。(4)编写一个程序,将用户输入的任意正整数逆转,例如,输入1234,输出4321。三、实验步骤及结果1.源程序改错题更改后的正确程序:#includeintmain(),{inti,
5、n,s=1;printf("Pleaseentern:");scanf("%d",&n);for(i=1;i<=n;i++)s=s*i;printf("%d!=%d",n,s);return0;}14/142.源程序修改替换题(1)while语句型替换程序#includeintmain(){inti=1,n,s=1;printf("Pleaseentern:");scanf("%d",&n);while(i<=n){s=s*i;i++;}printf("%d!=%d",n,s);return0;}14/14(2)do-while语句
6、型替换程序#includeintmain(){inti=1,n,s=1;printf("Pleaseentern:");scanf("%d",&n);do{s=s*i;i++;}while(i<=n);printf("%d!=%d",n,s);return0;}3.编程设计题(1)税金收取问题程序:If语句型:#include14/14intmain(){doubleincome,tax,a,b;inx:printf("Pleaseentertheincome:");scanf("%lf",&income);a
7、=income/1000;if(a>=0){if(a>=5)b=0.25;if(a>=4)b=0.20;if(a>=3)b=0.15;if(a>=2)b=0.10;if(a>=1)b=0.05;else14/14b=0.00;tax=income*b;printf("thetaxis%.1lf",tax);}else{printf("Entererror!");gotoinx;}}运行结果:Switch语句型:#includeintmain(){doubleincome,tax,a,b;14/14inx:printf("Plea
8、seentertheincome:");scanf("%lf",&income);a=income/10