1.下列左邊與右邊程式等效.
if(s!=0) 
   a+=s;
a+=s;

2.若 s 的範圍為 0 至 9. 則下列左邊與右邊程式等效.
if((s==1)||(s==2)||(s=6)||(s==9))
   a++;
t[1]=t[2]=t[6]=t[9]=1;
t[0]=t[3]=t[4]=t[5]=t[7]=t[8]=0;
a+=t[s];

3.若 s 的範圍為 0 至 9. 則下列左邊與右邊程式等效.
if(s<3)
    a++;
else if(s<6)
    a+=3;
else if(s<8)
    a--;
t[0]=t[1]=t[2]=1;
t[3]=t[4]=t[5]=3;
t[6]=t[7]=-1;
t[8]=t[9]=0;
a+=t[s];

【範例】
某市場賣菜價格如下:(括號為程式使用代號)
高麗菜(1):20元、菠菜(2):30元、芹菜(3):10元、
小白菜(4):10元、香菜(5):20元、蕹菜(6):30元、
空心菜(7):10元、油菜(8):10元、茼蒿(9):20元。
小明今到菜市場買菜,想要買一些菜,請寫一程式幫小明計算,小明買菜的總價錢。
int s=0,a;
while(1){
    printf("請輸入菜名代號(0結束):");
    scanf("%d",&a);
    if(a==0) break;
   if((a==3)||(a==4)||(a==7)||(a==8))
        s+=10;
    if((a==1)||(a==5)||(a==9))
        s+=20;
    if((a==2)||(a==6))
        s+=30;
}
printf("總金額:%d\n",s);
int s=0,a,t[10];
t[3]=t[4]=t[7]=t[8]=10;
t[1]=t[5]=t[9]=20;
t[2]=t[6]=30;
while(1){
    printf("請輸入菜名代號(0結束):");
    scanf("%d",&a);
    if(a==0) break;
    s+=t[a];
}


【範例】
下表為小華的功課表:
週一
週二
週三
週四
週五
1
國文
英文
實習1
物理
國文
2
數學
3
音樂
體育
美術
4
化學
午休
5
英文
數學
實習1
專題製作
英文
6
化學
7
物理
國文
數學

請輸入兩正整數 分別為週次與節次以空格隔開,
例如 2 4 表示週二第 4 節。
程式請輸出該節應上的科目。

#include <stdio.h>
#include <stdlib.h>
int main() {
char u[10][9]={"國文","英文","數學","物理","化學","實習1","專題製作","音樂","體育","美術"};
int t[6][8],a,b;
t[1][1]=t[1][2]=t[2][7]=t[5][1]=t[5][2]=0;
t[1][5]=t[2][1]=t[2][2]=t[5][5]=t[5][6]=1;
t[2][5]=t[2][6]=t[4][2]=t[4][3]=t[5][7]=2;
t[1][7]=t[4][1]=3;
t[1][6]=t[4][4]=4;
t[3][1]=t[3][2]=t[3][3]=t[3][4]=t[3][5]=t[3][6]=t[3][7]=5;
t[4][5]=t[4][6]=t[4][7]=6;
t[1][3]=t[1][4]=7;
t[2][3]=t[2][4]=8;
t[5][3]=t[5][4]=9;
while(1){
    printf("輸入週次 節次(0 0 離開):");
    scanf("%d %d",&a,&b);
    if(a==0) break;
    printf("%s\n",u[t[a][b]]);
}
}

最後練習
飆網 2538 第三題: 蠕動小蟲

解答