C語(yǔ)言


[例4.7] 輸入考試成績(jī)的等級(jí),打印出百分制分?jǐn)?shù)段
(A等:85分以上,B等:70~84,C等:60~69,D等:60分以下)。
main()
{ char grade;
scanf("%c",&grade);
if(grade=='A') printf("85~100\n");
else? if(grade=='B') printf("70~84\n");
else? if(grade=='C') printf("60~69\n");
else? if(grade=='D') printf("<60\n");
else? printf("Error\n");
}

[例4.8] 判斷鍵盤(pán)輸入的一個(gè)字符是否為大寫(xiě)字母,如果是則轉(zhuǎn)換為小寫(xiě)字母,否則不轉(zhuǎn)換。輸出處理后的字符。
main()
{ char ch;
scanf("%c",&ch);
ch=(ch>='A'&&ch<='Z')?(ch+32):ch; /* 括號(hào)可不加 */
printf("%c\n",ch);
}

[例4.9] 在例2.9的計(jì)算機(jī)隨機(jī)出一道兩位數(shù)的加法題中,當(dāng)用戶回答完畢后,給出適當(dāng)?shù)脑u(píng)語(yǔ)。
#include <stdlib.h>
main()
{ int a,b,c,d;
char q;
randomize();
a=random(90)+10; /* random(90)產(chǎn)生0~89之間的隨機(jī)數(shù) */
b=random(90)+10;
c=a+b;
printf("計(jì)算:%d + %d =",a,b);
scanf("%d",&d);
if(c==d) /* 用戶輸入的值與計(jì)算的值相同 */
printf("回答正確!\n");
else
{ printf("回答錯(cuò)誤,您輸入的數(shù)是:%d。\n",d);
printf("要看答案嗎(y/n)?");
scanf("%c%c",&q,&q);
if(q=='y'|| q=='Y')
printf("正確答案是:%d\n",c);
}
}

[例4.10] 輸入年、月,輸出該月有多少天。
main()
{ int year,month,days;
printf("輸入年,月:");
scanf("%d,%d",&year,&month);
switch(month)
{ case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:days=31;break;
case 4:
case 6:
case 9:
case 11:days=30;break;
case 2: if(year%4==0 && year%100!=0 || year%400==0)
days=29;
else days=28;
break;
}
printf("%d年%d月有%d天\n",year,month,days);
}

