unpublished:hw6
國立屏東商業技術學院 資訊工程系 程式設計(一)
作業6
trunin code c.hw6
due date: TBA
目的
- 練習格式化輸入與輸出
- 電話7碼與8碼
- 學號輸入sXXX XXX XX
- 從檔案取得(redirect)
- pipeline
第1題
- 設計一個名為averageSpeed.c的程式
- 利用redirect的方式,將給定的輸入檔案讀入
- 輸入檔案為文字檔 包含 in.1 in.2 in.3,其格式如下
- 每個檔案共有三行
- 第一行「DU: HH:MM:SS」,DU為duration之意,其中HH為小時,MM為分鐘,SS為秒
- 第二行「DT: XXXX.XX」,DT為distance之意,其中XXXX.XX為公里數,整數部份不超過4位,小數不超過2位
- 將輸入檔案讀入後,計算平均時速(公里/小時)
- 您必須先將duration轉換為 XXX.XX小時後才能計算出答案
- 將結果輸出
- 程式執行結果參考:
[9:19 user@ws hw6] ./a.out < in.1 Duration: 09:14:07(HH:MM:SS) Distance: 196.19KM Average Speed: 21.23KM/H [9:19 user@ws hw6] ./a.out < in.2 Duration: 12:03:32(HH:MM:SS) Distance: 1054.00KM Average Speed: 87.40KM/H [9:19 user@ws hw6] ./a.out < in.2 Duration: 01:30:00(HH:MM:SS) Distance: 30.00KM Average Speed: 20.00KM/H [9:19 user@ws hw6]執行結果與輸出格式必須與上述一致
第2題
Universal Product Code (UPC,統一商品條碼),普遍使用於美洲。UPC是一個12碼的編碼系統,其中最後一碼為檢查碼(check digit),當我們經掃描得到一個12碼的UPC條碼時,我們可以把前11碼以公式計算出檢查碼;所計算出來的檢查碼可以跟第12碼比對,即可知道這個條碼是否正確。
檢查碼的計算公式如下:
- 將前11碼中,單數號的位置的值加總
- 將前11碼中,雙數號的位置的值加總
- 將第一項計算的結果乘以3,並與第二項的結果加總
- 將第三項計算的結果減1後取其個位數
- 9減去第四項計算的結果,其值即為檢查碼
舉例來說:某商品之UPC條碼為 013800151735,套用前述公式:
- 0+3+0+1+1+3 = 8
- 1+8+0+5+7 = 21
- 8×3+21=45
- 45-1=44 ← 取個位數4
- 9-4=5 ←檢查碼
- 設計一個名為checkcodeUPC.c的程式
- 讓使用者輸入一個UPC條碼的前11碼
- 計算並輸出及檢查碼
- 程式執行結果參考:
[9:19 user@ws hw5] ./a.out Please the first 11 digits of a UPC bar code: 01380015173 Check digit is 5. [9:19 user@ws hw5]
提示:下面這個程式讓使用者輸入三個數字存放到char型態的變數中,因為'0’的ASCII碼為48,所以所有的輸入減掉48後就得到整數值。
#include <stdio.h> int main() { char x,y,z; scanf("%c%c%c", &x, &y, &z); x-=48; y-=48; z-=48; printf("%d%d%d",x,y,z); }
第3題
- 設計一個名為cel2fah.c的程式
- 讓使用者輸入一個攝氏溫度
- 計算並輸出對應的華氏溫度
- 溫度轉換公式為: 華氏 = 攝氏*(9/5)+32
- 程式執行結果參考:
[9:19 user@ws hw5] ./a.out Celsius: XX.XX =Fahrenheit: YY.YY [9:19 user@ws hw5]註:XX.XX為使用者輸入,YY.YY為程式計算後輸出
第4題
- 設計一個名為usd2twd.c的程式
- 讓使用者輸入美金兌台幣的匯率
- 讓使用者輸入美金數目
- 計算並輸出可換取的台幣數目
- 可換取的台幣還要扣除百分之2.5的手續費
- 程式執行結果參考:
[9:19 user@ws hw5] ./a.out 1 USD = ? TWD : XX.XX How much USD dollar? XX.XX You can get XXX.XXX TWD. [9:19 user@ws hw5]註:XX.XX為使用者輸入與程式計算後輸出
unpublished/hw6.txt · 上一次變更: 2019/07/02 15:01 由 127.0.0.1