资源描述:
《实验五:逻辑结构程序设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实验五:逻辑结构程序设计1、实验目的(1)熟练掌握switch语句;(2)结合程序掌握一些简单的算法;(3)学会调试程序。2、实验内容(1)用switch语句编程实现:给出一个百分制成绩,要求输出成绩等级A,B,C,D,E。其中90分以上为A,80~89为B,70~79为C,60~69为D,60分以下为E。当输入0~100范围之外的数据时,要能报错。答:#includemain(){floatscore;chargrade;printf("请输入学生成绩:");scanf("%f",&score);while(score>100,score<0
2、){printf("输入有误,请重输");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("成绩是%5.1f,相应的等级是%c.",score,grade);}(2)给出一个不多于5位的正整数,要求:①求出它有几位数;②分
3、别打印出每一位数字;③按逆序打印出各位数字;答:#include#includevoidmain(){longintnum;intindiv,ten,hundred,thousand,ten_thousand,place;printf("请输入一个整数:");scanf("%ld",&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",plac
4、e);printf("每位数字为:");ten_thousand=num/10000;thousand=(int)(num-ten_thousand10000)/1000;hundred=(int)(num-ten_thousand10000-thousand1000)/100;ten=(int)(num-ten_thousand10000-thousand1000-hundred100)/10;indiv=(int)(num-ten_thousand10000-thousand1000-hundred100-ten10);switch(place){case5
5、:printf("%d,%d,%d,%d,%d",ten_thousand,thousand,hundred,ten,indiv);printf("反序数字为:");printf("%d,%d,%d,%d,%d",indiv,ten,hundred,thousand,ten_thousand);break;case4:printf("%d,%d,%d,%d",thousand,hundred,ten,indiv);printf("反序数字为:");printf("%d,%d,%d,%d",thousand,hundred,ten,indiv);b
6、reak;case3:printf("%d,%d,%d",hundred,ten,indiv);printf("反序数字为:");printf("%d,%d,%d",indiv,ten,hundred);break;case2:printf("%d,%d",ten,indiv);printf("反序数字为:");printf("%d,%d",indiv,ten);break;case1:printf("%d",indiv);break;}getch();}(3)编写程序,从键盘接收一个简单的表示四则运算的表达式,计算结果并输出。例如,输入“20+
7、32”,输出“20+32=52”。分别使用switch和elseif语句。答:#includemain(){doublevalue1,value2;charoperator;printf("Typeinanexpression:");/提示输入一个表达式/scanf("%lf%c%lf",&value1,&operator,&value2);switch(operator){case'+':printf("%.2f",value1+value2);break;case'-':printf("%.2f",value1-value2);br
8、eak;case'':p