收藏 分销(赏)

实验四选择结构程序设计.docx

上传人:二*** 文档编号:4745511 上传时间:2024-10-11 格式:DOCX 页数:20 大小:65.17KB
下载 相关 举报
实验四选择结构程序设计.docx_第1页
第1页 / 共20页
亲,该文档总共20页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、实验四选择结构程序设计一、实验目的.掌握关系运算符和逻辑运算符;1 .学会正确书写关系表达式和逻辑表达式和条件运算符;.熟练掌握if语句和switch语句。二、实验学时数4学时三、实验步骤(一)阅读程序1.输入并运行以下程序,观察运行结果。ftinclude int main() int a, b, c;a=10;b=60;c=30;if (ab) a=b;b=c;c 二a;printf (/za=%d, b=%d, c=%dn/z, a , b, c );return 0;程序运行结果如下:dcde这里假设字母表首尾两个字母是相连的。假设输入字母Z,那么程序输出YZAo输入格式:一个字母,可

2、能为大写,也可能为小写。输出格式:连续3个字母,大小写不变。test00008.c 未命名 21 #include1 #include E:C语验四台窗十test00008.exe2 int main()3早 467S8910 -1112 01314151617char clc2,c3;scanf(M%cM,&cl)s if(cl=65&cl=90) (c2=(clAl)%26+A;c3=(cl-,A,+l)%26+A; else c2=(clal)%26+a;c3=(cl-,a+l)%26+*a,;printf(%c%c%cjc2,cl,c3);return 0;h ghiProcess e

3、xited after 4. 018 seconds with return value 0 请按任意键继续. . . 疝编译日志调试Q搜索结果笆关闭 缰译结果.- 错误:o警告:oiths -输出文件名:E:C语言实验四程序设计test00008.exe输田大小:128.1015625 KiB- -译时间:0.1682.找零钱。为顾客找零钱时,希望选用的纸币张数最少。例如73元,希望 零钱的面值为五十元1张,二十元1张,一元3张。设零钱面值有五十元、二十 元、十元、五元和一元,请编写程序,用户输入100以下的整数,计算找给顾客 的各面值的纸币张数,数据间以空格隔开。输入:大于等于0小于100

4、的整数。输出:5个整数,数据间用一个英文空格分隔。输入样例:73输出样例:1 1。0 3输出样例:1 1。0 3Hint x,constintA=50;constintB=20;constintC=10;constintD=5;constintE=l;H05.c test00007.cpp test0006.c test0007.c test0008.c#includeint main()7 a110 0 3Process exited after 22. 72 seconds with return value 0 请按任意键继续.scanf(H%d,&x);a=(x-x%A)/A;Ib=(

5、x%A-(x%A)%B)/B;c=(x%A)%B-(x%A)%B)%C)/C;d=(x%A)%B)%C-(x%A)%B)%C)%D)/D;e=x-a*A-b*B-c*C-d*D;Iif(x=0&x100)Iprintf(M%d %d %d %d %d,a,b, jd,e)?return 0;)日志调试Q搜索结果的关闭 E结果.3,判断一个三位数是否为“水仙花数”。所谓“水仙花数”是指一个三位数, 其各位数字的立方各等于该数本身。例如:153是一个水仙花数,因为 153二厂3+5 - 3+3 八 3输入:一个三位的正整数。输出:是或不是。#include int main()早int a,bc,

6、AB;scanf(1,%d,&A);a=A/100;b=(A%100)/10;c=(A%100)%10;B=(a*a*a)+(b*b*b)+(c*c*c); if(A=B) printf (是“); elseprintf (不是”);return 0;-H E:C语言实验四程序设计test0007.exe153是Process exited after 12.79 seconds with return value 0 请按任意键继续.4 .百分制转换为等级制。从键盘输入一个百分制成绩,要求输出其对应的 等级。给出一个输入某学生的成绩(成绩为100分制,可以为89.5,如果输入的成绩不在0-1

7、00之间,请给出出错提示。),经处理后给出学生的等级,等级分类如下:90分以上(包括90): A80至90分(包括80): B70至80分(包括70): C60至70分(包括60): D60分以下:E(XX)9.c test000010.c#include int main()float score; char grade; printf(”请输入学生的成绩:”); scanf (%f,&score);while(score100|score0)mprintf(n输入有误。请重输scanf(%f,&score);)switch(int)(score/10)3(case 10: case 9:g

8、radesA;break; case 8:gradesB;break; case 7:gradesC;break) case 6:grades * D;break; case 5: case 4: case 3: case 2: case 1:case 0:grade=E;泽日志谒试搜索结果间关闭I译结果.错谩:o 警告:0#include int main()float score; char grade; printf(”请输入学生的成绩:”); scanf (%f,&score);while(score100|score 0,有两个不等的实根;(3) b2 - 4ac 0,有两个共貌复根

9、。test00005.c test00007.cpp testOOO6.c test0007.c - E:C语言校验四程序设计testOOO1O.exe234056789白234056789白121415 A161718 -1920 H2122 -2324 n252627 -282930 Linclude include int nain()(float a,b,c,d,p,q;float xl,x2;scanf(Xf%fXf-,Sa,gb,8c);d=b*b-4*a*c)if(a3e)(xi(-c)/b;x2xi;printf (xl8X.2fnx2-%.2f,xl/x2);)else H(

10、de)xl3(-t4sqrt(d)/(2,a);x2=(-b-sqrt(d)/(2*a);printf(-xl=Xfnx2=Xf,xl,x2);)else H(d8)(xl=x2-(-b)/(2*a);printf(xlsXfnx2sXf,xl,x2);) else(ps-b/(2*a);qsqrt(-d)/(2*a);printf (-%f4.%fin%f-Xfin-,p,q,p,q);)return e;2 4 5-1. 000000+1. 224745i-1. 000000-1. 224745iProcess exited after 15. 29 seconds with return

11、 value 0 请按任意键继续.(以下题目选做,编写代码,尽可能考虑出现的情况)1.己知某公司员工的保底薪水为500,某月所接工程的利润p与利润提成的 关系如下:(计量单位:元)p=1000没有提成1000p=2000提成10%2000p=5000提成15%5000p=10000提成20%10000p提成25%试编写程序,从键盘输入某公司员式该月所接工程的利润P,计算并输出该员工当月的工资,并根据工资情况给予员工适当的激励性的话语。0005.C test00007.cpp test0006.c te$t0007.c testOOOS.c testOOOW.c testOOOII.c #inc

12、lude int nain()3 (int p,i;float *;scanf(%d,ap);if(pieeee)iie;else ip/ieee; switch3 (-Acase e:0=8;prints”你离拿封提就点点了,break;case 1:。.1;江七(”你巨经提成10%了,阴;游力n-);break;case 2: case 3: case 4:d-0.i5;prin(你已经很搂了,加艘n“);break; case 5:case 6: case 7: case 8:case 9:。8.2建立再弊力一点你会拿提成廊|0)逢晚31(;case ie:d=e.25;prin(曲厉塞

13、喉,已经拿到最高的提成了,加油n);break; )M-(p*d)4see;printf(-%f,u); return e; ) E:CaE iSittestOOO11 .exe900你离拿到提成就差一点点了,加油7700.000000Process exited after 3. 454 seconds with return value 0请按任意键继续.2 .时间换算UTC是世界协调时一,BJT是北京时间,UTC时间相当于BJT减去8。现在, 你的程序要读入一个整数,表示BJT的时和分。整数的个位和十位表示分,百 位和千位表示小时。如果小时小于10,那么没有千位局部;如果小时是0,那么没

14、有 百位局部;如果小时不是。而分小于10分,需要保存十位上的0;如果小时是0 而分小于10分的,那么不需要保存十位上的0。如1124表示11点24分,而905 表示9点5分,36表示。点36分,7表示。点7分。有效的输入范围是0到2359,即你的程序不可能从测试服务器读到0到2359 以外的输入数据。你的程序要输出这个时间对应的UTC时间,输出的格式和输入的相同,即 输出一个整数,表示UTC的时和分。提醒:要小心跨天的换算。输入样例:803输出样例:33 .信号报告题目内容:无线电台的RS制信号报告是由两个局部组成的:R(Readability)信号可辨度即清晰度. S (Strength)

15、信号强度即大小.其中R位于报告第一位,共分5级,用15数字表示.1. UnreadableBarely readable, occasional words distinguishable2. Readable with considerable difficultyReadable with practically no difficulty3. Perfectly readable报告第二位是S,共分九个级别,用19中的一位数字表示Faint signals, barely perceptible1. Very weak signalsWeak signals2. Fair signals

16、Fairly good signals3. Good signalsModerately strong signals4. Strong signalsExtremely strong signals现在,你的程序要读入一个信号报告的数字,然后输出对应的含义。如读到 59,那么输出:Extremely strong signals, perfectly readable.输入格式:一个整数,信号报告。整数的十位局部表示可辨度,个位局部表示强度。输 入的整数范围是11, 59中的个位不为0的数字,这个范围外的数字不可能出现 在测试数据中。输出格式:一句话,表示这个信号报告的意义。按照题目中的文字

17、,先输出表示强度的 文字,跟上逗号和空格,然后是表示可辨度的文字,跟上句号。注意可辨度的句 子的第一个字母是小写的。注意这里的标点符号都是英文的。输入样例:33输出样例:Weak signals, readable with considerable difficulty.四、实验心得与体会学会掌握了关系运算符和逻辑运算符,明白了关系运算符的优先级高于逻辑 运算符。学会正确书写关系表达式和逻辑表达式和条件运算符;会熟练运用if 语句和swicth语句编写所给程序。会进行简单的关系运算和复杂的算术逻辑运 算。会调试程序,if语句后不能用分号隔开并且需要用逻辑运算符来运算。五、教师评语1 .按时完

18、成实验;2 .实验内容和实验过程记录完整;3 .回答以下问题完整、正确;4 .有关于实验的比拟深刻的心得或讨论;5 .实验报告的撰写、格式符合要求。签名:六、成绩日期: 2022年03月21日testOOOl.c1 #include2 int main()3S( E:C语言实验四程序设计testOOO1 .exe卜=10, b=30, c=10456789101112inta=10;b=60;c=30;if(ab)a=b;b=c;c=a;printf(Ma=%d,b=%d,c=%dnM,a,b,c);return 0;Process exited after 0. 00758 seconds

19、with return value 0 请按任意键继续.分析结果如果ab,那么把b的值赋给a;否那么a仍然等于a,将c的值赋给 b,a的值赋给c.运行结果a=10,b=30,c=102.输入并运行以下程序,观察运行结果。ftinclude int main () int i=1;switch (i) case 1 :printf (/z%dtz/, i+);case 2:printf(%dt, i+);case 3:printf(%dt, i+);case 4:printf (%dt,i+);printf (z/ni=%dnz/, i);return 0;testOOOl.c testOOOZ

20、.c1 #include2 int main()3 0 (4 int i=l;Q E:C语言实睑四程序设计test0002.exe1234i=556 078910 -11switch(i)case 1: printf (, i+);case 2: printf ( M%dti+);case 3:printf(H%dtM,i+);case 4:printf(M%dtH,i+);printf(Mni=%dnM,i);Process exited after 0.04431 seconds with return value 0请按任意键继续.12 return 0;13 L )分析结果每个case

21、执行完成后自动执行下面的case语句,不会进行判断。运行结果1234i=53、假设x=12,那么以下程序运行的结果是#include int main () int x, y;scanf (%d, &x);y=x12 ? x+10:x-12;printf (/zx=%d, y二%dn,x, y);return 0;KtOOOl.c testOOO2.c testOOO3.c1 #include2 int main() E:C 语 验四期 iHtestOOO3.exe5678956789int x,y;scanf(%d-,4x);y=x12 ? x+10:x-12;printf (Mx=%d,y

22、=%dnMx,y)jreturn 0;12x=12,y=0Process exited after 2.146 seconds with return value 0 请按任意键继续.分析结果如果x12执行x加12, yM 12, xv=12,那么x值不变,y减12.运行结果x=12,y=0(二)完成程序要求:按照给定题目要求,参照出现的语句,填写程序空白处。1 .输入一个字符,如果它是一个大写字母,那么把它变成小写字母;如果它是一个小写字母,那么把它变成大写字母;其他字符不变,请在 上填写正确内容。ttinclude int main () char ch ;scanf (级c, &ch);

23、if (_ch=A &ch=V _)ch=ch+32;else if (ch=a & ch二z ) _ch=ch-32;printf (cn , ch);return 0;1S)te$t0004.c1 #include2 int3早456789101112 L main()char ch;scanf(n%c&ch);if(ch=*A, & ch=,a, & ch=,z) ch=ch-32;printf (*%cnM,ch);return 0; E:CiS 脸四iSrttest0004.exeProcess exited after 4.908 seconds with return value

24、 0 静按任意键继续.2 .以下程序根据输入的三角形的三边判断是否能组成三角形,假设可以那么输出它的面积和三角形的类型,请在 上填写正确内容。ttinclude ttinclude int main () float a, b , c ;float s , area ;scanf (%f , %f , %fz/, &a, &b, &c);if (_a+bc&a+cb&b+ca) s= (a+b+c)/2;area= sqrt (s* (s-a)* (s-b)*(s-c);printf (三角形的面积为:%fn/z, area);if ( a二b二c)printf (等边三角形n);else i

25、f (_a=b!=c&a=c!=b&b=c!=a)printf (等腰三角形n);else if(a*a+b*b=二c*c) | | (a*a+c*c=二b*b)| | (c*c+b*b=a*a) printf (直角三角形n);else printf (一般三角形n);)else printf (不能组成三角形n);return 0;00005.C#include#include int main()3 #include#include int main()3 float a,b,cj float sarea;if (a*bc&aob&b*ca) E:C语言供蛉四程序设计test00005.

26、exes-(a*b*c)/2jarea=sqrt(s*(s-a)#(s-b)*(s-c);printf0三角形的面积为:%八narea):if(a=b&8bc)printf(等边三角形else if(a=b&b!c)|(a=c&c!=b)|(b=sc&c!=a)printf(等族三角形n”5, 8, 10三角形的面积为:19.810036一般三角形Process exited after 6.189 seconds with return value 0请按任意键继续. else if (a*a*b*bc*c) 11 (a*a*c*cb*b) 11 (c*c*b*b=a*a)printf(直角

27、三角形n”)jelse print*一般三角形n-)jelse print千(不能组成二角形n”);return 0;)3.以下程序实现的功能是:-1x0ttinclude int main () int x, y;scanf(%d, &x);switch(x0)case 1:y =一; break;case 0:switch(x=0) case 1;y=0;break;case 0:y=l;printf (y=%dn,y);return 0;te$t00006.cpp tt00006.c1 #include2 int3早口4567089B2 int3早口4567089Bmain() E:C语

28、言法蛉四程再设ittest00006.exe101112131415int x,yjscanf(%d,&x)sswitch(x9x*(x+2)3x=92*x-lx=3x-1x=-l#include int main() int x ,y ;scanf(d”,&x);if (3x=9) y=x*(x+2);else if (-lx=3) y=2*x;else if (xl)y=x-l;else y=-l;printf(dn,y);return 0;rt00005.c test00007.cpp test0006.c1 #include2 int main() E:C 语蛉四 Jrigi+test

29、0006.exe3早456224789 0int x,y;scanf(%d,&x);if(x3&x-l&x=3) y=2*x;else if(x-l)Process exited after 1. 976 seconds with return value 0 请按任意键继续.12345 L y=x-l;else y=-l;printf(%dn”,y);return 0;#includeint main()4int x,y;scanf(n%d,&x);if(x3&x-l&x=3) y=2*x;else if(x3&x=9, x-1&X二3调试正确后分别输入数据:4 2 1 -3 10的运行结果输出结果24 4 2-4-1(四)编写程序1 .打印3个相邻字母。当用户输入一个英文字母后,程序能够按照字母表的顺序打印出3个相邻的字母,其中用户输入的字母在中间。

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 教育专区 > 初中其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服