实验二--选择结构程序设计-实验报告.docx

上传人:scccc 文档编号:14007437 上传时间:2022-01-30 格式:DOCX 页数:13 大小:22.48KB
返回 下载 相关 举报
实验二--选择结构程序设计-实验报告.docx_第1页
第1页 / 共13页
实验二--选择结构程序设计-实验报告.docx_第2页
第2页 / 共13页
实验二--选择结构程序设计-实验报告.docx_第3页
第3页 / 共13页
实验二--选择结构程序设计-实验报告.docx_第4页
第4页 / 共13页
实验二--选择结构程序设计-实验报告.docx_第5页
第5页 / 共13页
亲,该文档总共13页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《实验二--选择结构程序设计-实验报告.docx》由会员分享,可在线阅读,更多相关《实验二--选择结构程序设计-实验报告.docx(13页珍藏版)》请在三一文库上搜索。

1、实验二选择结构程序设计一、实验目的和要求1 .掌握关系表达式和逻辑表达式的使用。2 .熟悉选择结构程序设计。3 .熟练使用if语句进行程序设计。4 .使用switch语句实现多分支选择结构。二、实验设备PC 机Visual C+6.0三、实验内容(一)实验准备1.从程序流程的角度来看,程序可以分为三种基本结构,即顺序结构、分支(选择)结构、循环结构。2.If-else 语句:一般形式为:if (表达式)语句1;else语句2;该语句用于实现分支结构,本!据表达式的值选择语句 1或语句2中的一条 执行。首先求解表达式,如果表达式的值为“真”,则执行语句1;如果表达式 的值为“假”,则执行语句2.

2、2.switch 语句switch语句可以处理多分支选择问题,根据其中break语句的使用方法,一般分为三种情况。(二)实验项目1.计算 a+|b|#includeint main(void)int a,b,z;printf(Please enter a,b:n);scanf(%d,%d,&a,&b);if (b=0) b=b;/elseb=-b;z=a+b;printf(%d+%d=%dn,a,b,z);return 0 ;2判断一个整数是否可以被3和5整除#includeint main(void)int a ;printf(Please enter a:n);scanf(%d,&a);i

3、f (a%3=0)printf(a 可以被 3 整除:n);elseif (a%5=0)printf(a 可以被 5 整除:n);else printf(a不可以被5整除,也不可以被3整除:n);3.从键盘输入一个字符型数据,若输入一个数字字符(0-9),则将其转换成 相应的整数显示出来;若输入其它字符,则显示出错信息。#includeint main(void)int a ;printf(please enter a char:n);scanf(%d,&a);if(0=a)&(a=9)printf(This char is %d:n,a);elseprintf(这个字符不是个整数:n);re

4、turn 0 ;4 .编写一个程序,其功能为:从键盘输入三个数x、v、z,判断x+y=z是否成立, 若成立输出“x+y=z”的信息,否则输出“ x+y!=z ”的信息。#includeint main(void)int x,y,z;printf ( 请输入 x, y, z:n);scanf (%d,%d,%d,&x,&y,&z);if (x+y=z)printf (x+y=zn);elseprintf (x+y!=zn);return 0;5 .编写一个程序,其功能为:输入三个整数,输出最大数和最小数 #includeint main(void)int a,b,c,x,y;printf (请输

5、入三个数字:n);scanf (%d,%d,%d,&a,&b,&c);x=0;if (ab)x=a;if (xc)x=x; elsex=c;elsex=b;if(xc)x=x; elsex=c;y=0;if (ab)y=a;if (yc)y=c; else y=y; printf ( 最大数是d,最小值是dn,x,y);return 0;6 .如下两个线性方程组的两个未知数为x1和x2:ax1+bx2=mcx1+dx2=n该方程的唯一解为(ad-cb不等于零时):请编写一个程序,读取a、b、c、d的值,计算x1和x2的值。如果ad-cd等于 零,应给出适当的提示信息。#include int

6、main(void) int a,b,c,d,m,n,x1,x2;printf( 请输入方程组 a,b,c,d,m,nn);scanf(%d,%d,%d,%d,%d,%d,&a,&b,&c,&d,&m,&n); if(a*d-c*b=0) printf(此方程组无解n); else x1=(m*d-b*n)/(a*d-c*b);x2=(n*a-m*c)/(a*d-b*c); printf(此方程组的解为用0%dn,x1,x2); return 0;7 .某产品生产成本c=c1+mcZ其中cl为固定成本,c2为单位产品可变成本。当 生产数量 m 10000 时,c1=40000 元,c2=5元;

7、编写一个程序,其功能为:分别计算出生产数量为6000以及25000 时,总生产成本及单位生产成本。#include int main(void) int c,c1,c2,m;printf(” 请输入生产数量m:n);scanf(%d,&m);if (m10000) c1=20000; c2=10; else c1=40000; c2=5;c=c1+m*c2;printf(生产成本为 dn,c); return 0;8 .编写一个程序,计算下列函数:x1y= 2 2x-11 x10#include int main(void) int x,y;printf (Plesse input a x :

8、n);scanf (%d,&x); if (x=10) y=3*x-11; else y=2*x-1;printf (y=%dn,y);return 0;9 .编写一个程序,其功能为:从键盘输入一个字符,判别该字符的类别,并输 出向相应信息。#include int main(void) char i;scanf(%c,&i); if (i=0)&(i=A)&(i=a)&(i=z)printf (此字符为小写字母n);else printf(此字符为其他字符n);return 0;10 .编写一个程序,其功能为:从键盘输入一元二次方程ax2+bx+c=0的各项系数 a、b、c的值,判断方程实数

9、解的不同情况,分别求解方程,并输出(结果保留 两位小数,如无实根给出相应的信息)。应用如下规则:(1)若a、b的值为零,则没有解;(2)若a为零,只有一个实数解;(3)若b2-4ac为负数,则没有实数解;若b2-4ac为正数,有两个实数解;若 b2-4ac为零,有两个相等的实数解。#include #include int main(void)float a,b,c;double x1,x2;printf (Please input a,b,cn);scanf (%f%f%f,&a,&b,&c);if(a=0)&(b=0)printf (此方程没有解n);elseif(a=0)printf(此

10、方程有一个实根n);elseif(b*b-4*a*c)0)printf (此方程无实根n);elseif(b*b-4*a*c)=0)x1=(-b)/(2*a);printf(此方程有两个相等实根:x1=x2=%lfn,x1);elsex1=(-b+(sqrt(b*b-4*a*c)/(2*a);x2=(-b-(sqrt(b*b-4*a*c)/(2*a);printf(此方程有两个实根:x1=%lfx2=%lfn,x1,x2); return 0;11 .编写程序,输入三角形三边a、b、c,判断a、b、c能否构成三角形,若不 能则输出相应的信息,若能则判断组成的是等腰、等边、直角还是一般三角形。#

11、include int main(void) int a,b,c;printf(piease input a,b,c:n);scanf(%d,%d,%d,&a,&b,&c);if(a+bc)&(a+cb)&(b+ca)if(a=b&b=c&a=c)printf(能构成等边三角形n); elseif(a=b|b=c|a=c)printf(能构成等腰三角形n); else if(a*a=b*b+c*c|b*b=a*a+c*c|c*c=a*a+b*b)printf(能构成直角三角形n); else printf(能构成一般三角形n);elseprintf(不能构成三角形n);return 0;12

12、.某个电力公司对其用户的收费规定如下:用电数量 收费标准0200x*0.5 元201400 100+(x-200) *0.65 元401600 230+(x-400) *0.8 元601 以上 390+(x-600) *1.0 元编写程序,对于一个输入的用电数量,计算用户的缴费额#include int main(void)double x,y;printf(piease input x:n); scanf(%lf,&x);if(x=0&x=201&x=401&x=600) y=230+(x-400)*0.8; else y=390+(x-600)*1.0; printf(y=%lfn,y);

13、 return 0;13某个服装展示厅对所卖商品打折规定如下:购买总额折扣机加工产品手工产品0100-5%1012005%7.5%2013007.5%10.0%大于 30010.0%15.0%编写程序输入购买总额,计算并输顾客实际应付的货款。#include stdio.hint main(void)double x,y;int lb;printf(请输入顾客购买总额x: n);scanf(%lf,&x);printf(请输入顾客购买类别lb : n);scanf(%d,&lb);if(x=0&x=101&x=201&x=300)if(lb=0) y=x*0.075;else if(lb=1)

14、 y=x*0.1;elseprintf(输入购买类别数据有误!);elseif(lb=0)y=x*0.1;else if(lb=1)y=x*0.15;elseprintf(printf(x=%lf y=%lfn,x,y);输入购买类别数据有误!);return 0;14编程在屏幕上显/、张如下所示的时间表:*Time*1morning2afternoon3nightPlease enter your choice:根据用户输入的时间序号显示相应的问候信息, 选才1 1时显示“Goodmorning”, 选择2时显示“ Good afternoon ” ,选择3时显示“ Good night ”

15、,对于其他选 择显示 “ Selection error! ”。#includeint main(void)int xh;printf(nn*Time*n);printf(1 morningprintf(2 afternoonprintf(3 night printf(nnn);n);n);请输入您的选择(1、2、3):);scanf(%d,&xh);switch(xh)case 1: printf(nGood morningn);break;case 2: printf(nGood atfernoonn);break;case 3: printf(nGood nightn);break;de

16、fault: printf(nSelection error!n);break; return 0; 15编程设计一个简单的计算器程序,要求根据用户从键盘输入的表达式: 操作数1运算符op操作数2计算表达式的值,指定的运算符为加(+)、减(-)、乘(*)、除(/)#include int main(void) float x,y,z; char op;printf(“请输入表达式:”);scanf(f,%c,%f”,&x,&op,&y);if (op=,+,)z=x+y;if (op=,-,)z=x-y;if(op=*)z=x*y;if (op=,/,)if (y!=0) z=x/y;else

17、 printf(“除数为 0”);printf(f%c%f=%f6 ,x,op,y,z);#include void main() float x,y,z; char op;printf(“请输入表达式:”);scanf(f,%c,%f”,&x,&op,&y);switch(op),case,+,:z=x+y;case,-, : z=x-y;case,*,:z=x*y;case/:if (y!=0)z=x/y;else printf(“除数为 0”); printf(f%c%f=%f6 ,x,op,y,z);return 0;16输入某学生的成绩,经处理后给出学生的等级,等级分类如下:90分以

18、上(包括90):A80至90分(包括80):B70至80分(包括70):C60至70分(包括60):D60分以下:E方法一:(用if语句的嵌套)#include int main(void)float score;printf( 请输入成绩:);scanf(%f,&score);if(score=0&score=90)printf(%f A,score);else if(score=80)printf(%f B,score);else if(score=70)printf(%f C,score);else if(score=60)printf(%f D,score);elseprintf(%f

19、 E,score);else printf(成绩输入有误!);return 0;方法二:用switch语句#include int main(void)float score;int p;printf( 请输入成绩:);scanf(%f,&score);p=(int)(score/10);if(score=0&score=100)switch(p)case 10:case 9: printf(%fcase 8: printf(%fcase 7: printf(%fcase 6: printf(%fA”,score);break B”,score);break C”,score);break D”,score);breakdefault: printf(%f E,score);else printf(成绩输入有误!);return 0;四、实验小结通过本次实验我进一步熟悉了 C语言操作环境,学习了两种条件语句,弄清 了语句格式和使用方法。学会了分别使用使用 if嵌套语句和switch语句实现功 能,其中在使用if嵌套时要注意分清层次,明白else所对应的应当是离得最近 的if语句,防止发生逻辑错误。条件判断语句可以结合逻辑运算符更好得实现。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1