目錄表

國立屏東大學 資訊工程學系 程式設計(一)

作業5

練習各種運算子之處理


turnin code c.hw5

due date: October 23, 23:59.

第1題

  1. 設計一個名為reverse.c的程式
  2. 要求使用者輸入一個兩位數的正整數(不用擔心,我們一定只會輸入剛好兩位數的正整數)
  3. 將其十位數與個位數交換後輸出
  4. 程式執行結果參考:

[9:19 user@ws hw5] ./a.out
Please input a two-digit number: 83
The reversal is: 38
[9:19 user@ws hw4] ./a.out
Please input a two-digit number: 53
The reversal is: 35
[9:19 user@ws hw5]
提示:利用整數的除法與餘除可以得到十位數與個位數

第2題

Universal Product Code (UPC,統一商品條碼),普遍使用於美洲。UPC是一個12碼的編碼系統,其中最後一碼為檢查碼(check digit),當我們經掃描得到一個12碼的UPC條碼時,我們可以把前11碼以公式計算出檢查碼;所計算出來的檢查碼可以跟第12碼比對,即可知道這個條碼是否正確。

檢查碼的計算公式如下:

  1. 將前11碼中,單數號的位置的值加總
  2. 將前11碼中,雙數號的位置的值加總
  3. 將第一項計算的結果乘以3,並與第二項的結果加總
  4. 將第三項計算的結果減1後取其個位數
  5. 9減去第四項計算的結果,其值即為檢查碼

舉例來說:某商品之UPC條碼為 013800151735,套用前述公式:

  1. 0+3+0+1+1+3 = 8
  2. 1+8+0+5+7 = 21
  3. 8×3+21=45
  4. 45-1=44 ← 取個位數4
  5. 9-4=5 ←檢查碼
  1. 設計一個名為checkcodeUPC.c的程式
  2. 讓使用者輸入一個UPC條碼的前11碼
  3. 計算並輸出及檢查碼
  4. 程式執行結果參考:

[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題

  1. 設計一個名為cel2fah.c的程式
  2. 讓使用者輸入一個攝氏溫度
  3. 計算並輸出對應的華氏溫度
  4. 溫度轉換公式為: 華氏 = 攝氏*(9/5)+32
  5. 程式執行結果參考:

[9:19 user@ws hw5] ./a.out
Celsius: XX.XX
=Fahrenheit: YY.YY
[9:19 user@ws hw5]
註:XX.XX為使用者輸入,YY.YY為程式計算後輸出

第4題

  1. 設計一個名為usd2twd.c的程式
  2. 讓使用者輸入美金兌台幣的匯率
  3. 讓使用者輸入美金數目
  4. 計算並輸出可換取的台幣數目
  5. 可換取的台幣還要扣除百分之2.5的手續費
  6. 程式執行結果參考:

[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為使用者輸入與程式計算後輸出