unpublished:string
第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.java的程式
- 讓使用者輸入一個UPC條碼的前11碼
- 計算並輸出及檢查碼
- 程式執行結果參考:
Please the first 11 digits of a UPC bar code: 01380015173 Check digit is 5.
提示:下面這個程式讓使用者輸入三個數字存放到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); }
unpublished/string.txt · 上一次變更: 2019/07/02 15:01 由 127.0.0.1