【正文】
case 39。n39。: printf(\nGood night!\n)。 break。 case 39。h39。: printf(\nHello!\n)。 break。 default : printf(\n????????\n)。 break。 } } 例: 根據(jù)輸入字母輸出字符串 [例 ]用 switch語(yǔ)句實(shí)現(xiàn)菜單選擇數(shù)據(jù)轉(zhuǎn)換功能。 include main() { int ch,a。 printf(“\n to Hex\n”)。 printf(“ to Dec\n”)。 printf(“ to Oct\n”)。 printf(“ to Dec\n”)。 printf(“\nEnter your choice:”)。 scanf(“%d”,amp。ch)。 switch(ch) { case 1:printf(“\nEnter an integer(Dec):”)。 scanf(“%d”,amp。a)。 printf(“Dec=%d Hex=%x\n”,a,a)。 break。 case 2: ┆ [例 ]輸入一個(gè)字符,判斷其是否是A(Abort)或 R(Retry)或 F(Fail),并輸出相應(yīng)信息。 include main() { char c。 printf(“Abort,Retry,Fail?”)。 c=getchar()。 switch(c) { case ?a?: case ?A?:printf(“Abort!\n”)。 break。 case ?r?: case ?R?:printf(“Retry!\n”)。 break。 case ?f?: case ?F?:printf(“Fail!\n”)。 break。 default: printf(“Erroneous character!\n”)。 } } 運(yùn)行結(jié)果: Abort,Retry,Fail?rCR Retry! 運(yùn)行結(jié)果: Abort,Retry,Fail?eCR Erroneous character! 程序舉例 [例 ]寫程序,判某一年是否是閏年。 year%4? year%100? year%400? leap=1? leap=0 leap=1 leap=1 leap=0 no leap year leap year =0 =0 =0 =0 ≠0 ≠0 ≠0 ≠0 [例 ] 寫一個(gè)計(jì)算器程序,用戶輸入運(yùn)算數(shù)和四則運(yùn)算符 ,輸出計(jì)算結(jié)果 . 當(dāng)輸入的不是四則運(yùn)算符或除數(shù)為0時(shí) ,提示出錯(cuò)信息 . include main() { float a,b。 char c。 printf(“input expression:a+(,*,/)b\n”)。 scanf(“%f%c%f”,amp。a,amp。c,amp。b)。 switch(c) { case ?+?:printf(“=%f\n”,a+b)。break。 case ??:printf(“=%f\n”,ab)。break。 case ?*?:printf(“=%f\n”,a*b)。break。 case ?/?: if(b==0) printf(“data divided by zero\n”)。 else printf(“=%f\n”,a/b)。 break。 default:printf(“input error\n”)。 } } 編寫程序,用戶分別輸入年、月,輸出該月的天數(shù)。 課堂練習(xí) include main() { int year,month,day。 printf(“input year”)。 scanf(“%d”,amp。year)。 printf(“input month”)。 scanf(“%d”,amp。month)。 switch(month) { case 1: case 3: case 5: case 7: case 8: case 10: case 12:day=31。break。 case 4: case 6: case 9: case 11:day=30。break。 case 2: if((year%4==0amp。amp。year%100!=0) ||(year%400==0)) day=29。 else day=28。 } printf(“%dyear%dmonth=%day\n”, year,month,day)。 }