|
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 第三題: 蠕動小蟲
解答 |