3.3 实验 选择结构程序设计一、实验目的1.掌握关系运算符与表达式的使用2.掌握逻辑运算符与逻辑表达式的使用3.理解并掌握if语句和switch语句及它们的嵌套使用4.掌握选择结构程序设计中一些常用算法二、实验内容1.输入一个正整数,判断它是奇数还是偶数,并输出判断结果includevoid main(){ int a; scanf("%d",&a); if(a%2==0) printf("even number"); else printf("uneven number"); getch();}2.输入和的值,按下列公式计算的值 #includevoid main(){ float a,x,y; scanf("%f,%f",&a,&x); if(x<=a&&x>=-a) y=sqrt(a*a-x*x); else if(x==a||x==-a) y=0; else y=x-1; printf("y=%f\n",y); getch();}3.输入一个百分制成绩,输出其相应的五级成绩。
百分制与五级制成绩之间的换算关系为:90分以上为”A”,80~89分为”B”,70~79分为”C”,60~69分为”D”,60分以下为”E”要求:(1)用if语句编程;(2)用switch语句编程(1) #includevoid main(){ int score; printf("\nPlease input the score()0~100:"); scanf("%d",&score); if(score>=90) printf("A\n"); else if(score>=80) printf("B\n"); else if(score>=70) printf("C\n"); else if(score>=60) printf("D\n"); else printf("E\n"); getch();}(2) #includevoid main(){ int score; printf("\nPlease input the score(0~100):"); scanf("%d",&score); switch(score/10) { case 10:case 9: printf("A\n");break; case 8: printf("B\n");break; case 7: printf("C\n");break; case 6: printf("D\n");break; default: printf("E\n"); getch(); } getch();}4.输入3个数,输出其中最大数。
includevoid main(){ int a,b,c,max; printf("input three numbers:"); scanf("%d,%d,%d",&a,&b,&c); max=a>b? a:b; if(c>max) max=c; printf("max=%d",max); getch();}5.输入3个数,按从大到小的顺序输出includevoid main(){ int a,b,c,t; printf("\nPlease input three numbers:"); scanf("%d,%d,%d",&a,&b,&c); if(a#include#includevoid main(){ int x,n,a,b,c,d; scanf("%d",&x); if(x>0&&x<10) n=1; else if(x<100) n=2; else if(x<1000) n=3; else if(x<10000) n=4; a=x%10; b=(x/10)%10; c=(x/100)%10; d=(x/1000); switch(n) { case 1:printf("%d",a);break; case 2:printf("%d%d",a,b);break; case 3:printf("%d%d%d",a,b,c);break; case 4:printf("%d%d%d%d",a,b,c,d);break; } getch();}7.输入一个年份和一个月份,输出该年的这个月有几天(应考虑闰年)。
要求用switch语句编程根据常识可知:月份1、3、5、7、8、10、12 均为31天,月份4、6、9、11均为30天只有2月份的天数与年份有关,一般2月份为28天,闰年时2月份为29天闰年的判定:①、普通年能被4整除且不能被100整除的为闰年如2004年就是闰年,1901年不是闰年)②、世纪年能被400整除的是闰年如2000年是闰年,1900年不是闰年))#includevoid main(){ int month,year,n; printf("\nPlease input year,month\n"); scanf("%d,%d",&year,&month); switch(month) { case 12: n=31;break; case 11: n=30;break; case 10: n=31;break; case 9: n=30;break; case 8: n=31;break; case 7: n=31;break; case 6: n=30;break; case 5: n=31;break; case 4: n=30;break; case 3: n=31;break; case 2: if((year%4==0&&year%100!=0)||year%400==0) n=29; else n=28; break; case 1: n=31;break; } printf("n=%d\n",n); getch();}。