您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 能源与动力工程 > 实验(4)-选择结构-参考答案
1C语言程序设计实验教学(4)【实验目的】通过程序设计实现,掌握if结构和switch结构的正确应用。【实验要求】使用if结构和switch结构实现多种条件的选择结构程序,熟练二者的应用范围和注意事项。练习条件表达式的书写。【实验课时】4.0【实验内容】1、运行下列程序,分析结果。main(){inta=1,b=2,m=0,n=0,k;k=(n=ba)||(m=ab);printf(%d,%d\n,k,m);}2、编写程序,实现从键盘上输入一个整数,判断其奇偶性。main(){inta;scanf(%d,&a);if(a%2==0)printf(%disoushu.\n,a);elseprintf(%disjishu.\n,a);}3、编写程序,实现从键盘上输入3个整数a,b,c,并输出其中最大的数。main(){inta,b,c,max;scanf(%d,%d,%d,&a,&b,&c);max=ab?a:b;max=maxc?max:c;2printf(maxis%d\n,max);}main(){inta,b,c,max;scanf(%d,%d,%d,&a,&b,&c);if(ab)max=a;elsemax=b;if(cmax)max=c;printf(maxis%d\n,max);}main(){inta,b,c,max;scanf(%d,%d,%d,&a,&b,&c);if(ab)if(ac)max=a;elsemax=c;elseif(bc)max=b;elsemax=c;printf(maxis%d\n,max);}4、编写程序,实现从键盘上输入4个整数,并按从大到小顺序输出。main(){inta,b,c,d,t;scanf(%d,%d,%d,%d,&a,&b,&c,&d);if(ab){t=a;a=b;b=t;}3if(ac){t=a;a=c;c=t;}if(ad){t=a;a=d;d=t;}if(bc){t=b;b=c;c=t;}if(bd){t=b;b=d;d=t;}if(cd){t=c;c=d;d=t;}printf(sortedbysmalltolarge:%d,%d,%d,%d\n,a,b,c,d);}5、完成下列分段函数的计算:分别使用if-elseif和if-if的嵌套结构来实现。方法一(用if——elseif结构表达)#includestdio.h#includeconio.hmain(){intx,y;clrscr();printf(Pleaseinputvalueofx:\n);scanf(%d,&x);if(x0)y=1;elseif(x10)y=x*x+x+1;elsey=x+1;printf(x=%d,y=%d\n,x,y);}方法二(用if——if结构表达)y=0=x=10x0x+11x10x2+x+1y=0=x=10x0x+11x10x2+x+14#includestdio.h#includeconio.hmain(){intx,y;clrscr();printf(Pleaseinputvalueofx:\n);scanf(%d,&x);if(x=10)if(x0)y=1;elsey=x+1;elsey=x*x+x+1;printf(x=%d,y=%d\n,x,y);}6、编写一个程序,判断从键盘上输入的一个年份是否为闰年?方法一:#includestdio.h#includeconio.hmain(){intyear;clrscr();printf(Pleaseinputayear:\n);scanf(%d,&year);if(year%4==0&&year%100!=0||year%400==0)printf(%disaleapyear\n,year);elseprintf(%disnotaleapyear\n,year);}方法二:(用ifif结构表达)5#includestdio.h#includeconio.hmain(){intyear,leap;clrscr();printf(Pleaseinputayear:\n);scanf(%d,&year);if(year%4==0)if(year%100==0)if(year%400==0)leap=1;elseleap=0;elseleap=1;elseleap=0;if(leap==1)printf(%disaleapyear\n,year);elseprintf(%disnotaleapyear\n,year);}方法三:(用ifelseif结构表达)#includestdio.h#includeconio.hmain(){intyear,leap;clrscr();printf(Pleaseinputayear:\n);scanf(%d,&year);if(year%400==0)6leap=1;elseif(year%100==0)leap=0;elseif(year%4==0)leap=1;elseleap=0;if(leap==1)printf(%disaleapyear\n,year);elseprintf(%disnotaleapyear\n,year);}7、输入一个三位自然数num,判断其是否为水仙花数?注:一个3位自然数,各个数位的数字立方和等于该数本身,即称为水仙花数。如:153=13+53+33。#includestdio.h#includeconio.hmain(){intm,a,b,c;clrscr();printf(Pleaseinputanum(100=num=999):\n);scanf(%d,&m);a=m/100;b=m/10%10;c=m%10;if(a*a*a+b*b*b+c*c*c==m)printf(%dissxhshu.\n,m);elseprintf(%disnotsxhshu.\n,m);}78、编写一个程序,实现对给出的一百分制成绩,输出相应的成绩等级。即:90分以上为’A’,80~89分为’B’,70~79分为’C’,60~69分为’D’,60分以下为’E’。方法一:(用if结构)#includestdio.h#includeconio.hmain(){floatscore;chargrade;clrscr();printf(Pleaseinputascore(0=score=100):\n);scanf(%f,&score);if(score=90)grade='A';elseif(score=80)grade='B';elseif(score=70)grade='C';elseif(score=60)grade='D';elsegrade='E';printf(scoreis%5.1f,gradeis%c.\n,score,grade);}方法二:(用switch结构)#includestdio.h#includeconio.hmain(){floatscore;chargrade;clrscr();8printf(Pleaseinputascore(0=score=100):\n);scanf(%f,&score);switch((int)(score/10)){case10:case9:grade='A';break;case8:grade='B';break;case7:grade='C';break;case6:grade='D';break;case5:case4:case3:case2:case1:case0:grade='E';}printf(scoreis%5.1f,gradeis%c.\n,score,grade);}补充作业:9、完成下列分段函数的计算:分别使用if-elseif-else结构和if-if嵌套结构来实现。#includestdio.h#includeconio.hmain(){floatx,y;clrscr();9printf(Pleaseinputvalueofx:\n);scanf(%f,&x);if(x=1600)y=0;elseif(x=2100)y=(x-1600)*0.05;elseif(x=3100)y=(x-1600)*0.1-25;elsey=(x-1600)*0.15-125;printf(x=%8.2f,y=%8.2f\n,x,y);}10、完成下列分段函数的计算:分别使用if-elseif-else结构和if-if嵌套结构来实现。#includestdio.h#includemath.h#includeconio.hmain(){floatx,y;clrscr();printf(Pleaseinputvalueofx:\n);scanf(%f,&x);if(x=0)y=(x+2)*exp(x);else10y=(x+2)*log(2*x);printf(x=%8.2f,f(x)=%8.2f\n,x,y);}11、完成下列分段函数的计算:分别使用if-elseif-else结构和if-if嵌套结构来实现。#includestdio.h#includemath.h#includeconio.hmain(){floatx,y;clrscr();printf(Pleaseinputvalueofx:\n);scanf(%f,&x);if(x=0)y=0;elsey=(fabs(x)+3.2)/(sin(x)+2);printf(x=%8.2f,f(x)=%8.2f\n,x,y);}12、完成下列函数的计算:#includestdio.h#includemath.h#includeconio.h11main(){floatx,y;clrscr();printf(Pleaseinputvalueofx:\n);scanf(%f,&x);y=(exp(x)+fabs(x-6))/(x+1.3);printf(x=%8.2f,fun1(x)=%8.2f\n,x,y);}13、完成下列函数的计算:#includestdio.h#includemath.h#includeconio.hmain(){floatx,y;clrscr();printf(Pleaseinputvalueofx:\n);scanf(%f,&x);y=(1+sin(x)+exp(x))/(x+1);printf(x=%8.2f,fun1(x)=%8.2f\n,x,y);}14、某服装店经营套服,也单件出售。若买的不少于50套,每套80元;不足50套的每套90元;只买上衣每件60元;只买裤子每条45。以下程序的功能是读入所买上衣c和裤子t的件数,计算应付款m。#includestdio.h#includeconio.h12main(){intc,t,d1,d2,m;clrscr();printf(Pleaseinputcandt:\n);scanf(%d,%d,&c,&t);if(c=t){d1=t;d2=c-t;if(d1=50)m=d1*80+d2*60;elsem=d1*90+d2*60;}else{d1=c;d2=t-c;if(d1=50)m=d1*80+d2*45;elsem=d1*90+d2*45;}printf(c=%d,t=%d,m=%d\n,c,t,m);}15、某邮局对邮寄包裹有如下规定:若包裹的长宽高任一尺寸超过1米或重量超过30千克,不予邮寄;对可以邮寄的包裹每件收手续费0.2元,再加上根据下表按重量wei计算的邮资:重量(千克)收费标准(元/千克)wei100.8010wei=200.7520wei=300.70#includestdio.h#includeconio.hma
本文标题:实验(4)-选择结构-参考答案
链接地址:https://www.777doc.com/doc-2530554 .html