1. 程式人生 > >第九周編程總結

第九周編程總結

使用 [1] 次數 用法 吸引 ble 定義 scanf def

7-1 查詢水果價格 (15 分)
給定四種水果,分別是蘋果(apple)、梨(pear)、桔子(orange)、葡萄(grape),單價分別對應為3.00元/公斤、2.50元/公斤、4.10元/公斤、10.20元/公斤。
首先在屏幕上顯示以下菜單:
[1] apple
[2] pear
[3] orange
[4] grape
[0] exit
用戶可以輸入編號1~4查詢對應水果的單價。當連續查詢次數超過5次時,程序應自動退出查詢;不到5次而用戶輸入0即退出;輸入其他編號,顯示價格為0。

1)實驗代碼

include<stdio.h>

int main (void)
{
int choice,i;
double price;
printf("[1] apple\n");
printf("[2] pear\n");
printf("[3] orange\n");
printf("[4] grape\n");
printf("[0] exit\n");
for(i=1;i<=5;i++){
scanf("%d",&choice);
if(choice==0)
break;
switch(choice){
case 1:price = 3.00;break;
case 2:price = 2.50;break;
case 3:price = 4.10;break;
case 4:price = 10.20;break;
default:price = 0.00;break;
}
printf("price = %.2lf\n",price);
}
return 0;
}

2)設計思路
1.定義水果價格,種類
2.進行價格輸出
3.使用循環語句和switch語句對不同水果價格進行輸出
4.返回主函數

3)本題調試中遇到的問題及解決方案
1.將水果種類放到了for循環裏面
2.格式錯誤

4)運行結果截圖

7-2 計算油費 (15 分)
現在90號汽油6.95元/升、93號汽油7.44元/升、97號汽油7.93元/升。為吸引顧客,某自動加油站推出了“自助服務”和“協助服務”兩個服務等級,分別可得到5%和3%的折扣。
本題要求編寫程序,根據輸入顧客的加油量a,汽油品種b(90、93或97)和服務類型c(m - 自助,e - 協助),計算並輸出應付款。

1)實驗代碼

include<stdio.h>

int main(void)
{
int a,b;
double money,price,z;
char op;

scanf("%d %d %c", &a, &b, &op);
switch(b)
  {
    case 90:price = 6.95; break;
    case 93:price = 7.44; break;
    case 97:price = 7.93; break;
  }
switch(op)
  {
    case ‘m‘:z = 0.95; break;
      case ‘e‘:z = 0.97; break; 
  }
   money = price*z*a;
printf("%.2f",money);

return 0;

}

2)設計思路
1.定義(int)汽油品種和加油量,(double)價格,折扣和應付總金額,(char)服務類型
2.使用兩個switch將汽油品種和服務類型進行分類,最後算出應付總金額
3.輸出,返回主函數

3)本題調試中遇到的問題及解決方案
暫無

4)運行結果截圖

7-3 計算天數 (15 分)
本題要求編寫程序計算某年某月某日是該年中的第幾天。

1)實驗代碼

include<stdio.h>

int main()
{
int y,m,d,i,t;
scanf("%d/%d/%d",&y,&m,&d);
t=d;
for(i=1;i<m;i++){
switch(i) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
t=t+31;
break;
case 4:
case 6:
case 9:
case 11:
t=t+30;
break;
case 2:
if((y%4==0)&&(y%100!=0)||(y%400==0))
t=t+29;
else
t=t+28;
}
}
printf("%d",t);
return 0;
}

2)設計思路
1.定義總天數t,首先t=d(d為天數)
2.用for循環,用switch分類,30天,31天,再用if判斷2月份,一步步累加
3.輸出總天數

3)本題調試中遇到的問題及解決方案
switch的三種用法會搞混淆

4)運行結果截圖

第九周編程總結