例4.6 要求按照考试成绩的等级输出百分制分数段,A等为85分以上,B等为70~84分,C等为60~69分 ,D等为 60分以下 。成绩的等级由键盘输入。 编写程序:
#include
char grade;
scanf(\ printf(\ switch(grade)
{ default: printf(\ case 'A': printf(\~100\\n\ case 'B': printf(\~84\\n\ case 'C': printf(\~69\\n\ case 'D': printf(\ } return 0; }
例4.7 编写程序,用switch语句处理菜单命令。
在许多应用程序中,用菜单对流程进行控制,
例如从键盘输入一个’A’或’a’字符,就会执行A操作,输入一个’B’或’b’字符,就会执行B操作,等等。
编写程序:
#include
void action1(int,int),action2(int,int); char ch;
int a=15,b=23; ch=getchar(); switch(ch) { case 'a':
case 'A': action1(a,b);break;
case 'b':
case 'B': action2(a,b);break; default: putchar('\\a'); } return 0; }
void action1(int x,int y) {
printf(\}
void action2(int x,int y) {
printf(\}
例4.8 写一程序,判断某一年是否闰年。 编写程序:
程序1: 程序2: #include
int year,leap; int year,leap;
scanf(\ scanf(\ if (year%4==0) if(year%4!=0) { if(year0==0) { if(year@0==0) leap=1; else leap=0; } else leap=1; } else leap=0; if (leap) printf(\ else printf(\ printf(\ return 0; }
leap=0;
else if (year0!=0) leap=1;
else if(year@0!=0) leap=0; else leap=1; if (leap)
printf(\else
printf(\printf(\return 0; }
#include
int year,leap;
printf(\ scanf(\
if((year%4==0 && year0!=0) || (year@0==0)) leap=1; else
leap=0; if (leap)
printf(\ else
printf(\ printf(\ return 0;
} 程序4: #include
int year; bool leap;
scanf(\ if (year%4==0) {
if(year0==0) {
if(year@0==0) leap=true; else
leap=false; } else
leap=true; } else
leap=false; if (leap==true)
printf(\ else
printf(\ printf(\ return 0; }
例4.9 求 ax 2 ? ? c ? 0 方程的解。 bx编写程序:
#include
double a,b,c,disc,x1,x2,realpart,imagpart; scanf(\ printf(\ if(fabs(a)<=1e-6)
printf(\ else {
disc=b*b-4*a*c; if(fabs(disc)<=1e-6)
printf(\ else
if(disc>1e-6) {
x1=(-b+sqrt(disc))/(2*a); x2=(-b-sqrt(disc))/(2*a);
printf(\ } else {
realpart=-b/(2*a);
imagpart=sqrt(-disc)/(2*a); printf(\
printf(\ printf(\ } }
return 0; }