#29644: C解法


pds3601o (findStenFaul)

學校 : 不指定學校
編號 : 185702
來源 : [67.165.112.98]
最後登入時間 :
2022-09-03 12:17:08
a020. 身分證檢驗 | From: [223.140.109.111] | 發表日期 : 2022-03-16 21:55

 1. 字母的轉換部分,因為數字不是照順序排列,可以用list然後再用index方式去抓int

例如說建好 list = {1, 3, 2, 4, 5} for A B C D E

那用char可以簡單找index = (int) ( ch - 'A'); 再用 list[index]就可以簡單查到對應值

2. 數字轉換就寫for 迴圈     for (int i = 1; i < 10 ; i++) {  sum += (int) (*(p+i) - '0') * (9 - i); } 別忘記最後一位數會乘零,要加回去

一樣用 ch - '0'再轉成int可以輕鬆取值

 

 
#29646: Re:C解法


bpeng858@gmail.com (彭柏閎)

學校 : 不指定學校
編號 : 187778
來源 : [125.224.210.28]
最後登入時間 :
2022-03-16 23:23:33
a020. 身分證檢驗 | From: [125.224.210.28] | 發表日期 : 2022-03-16 23:28

 1. 字母的轉換部分,因為數字不是照順序排列,可以用list然後再用index方式去抓int

例如說建好 list = {1, 3, 2, 4, 5} for A B C D E

那用char可以簡單找index = (int) ( ch - 'A'); 再用 list[index]就可以簡單查到對應值

2. 數字轉換就寫for 迴圈     for (int i = 1; i < 10 ; i++) {  sum += (int) (*(p+i) - '0') * (9 - i); } 別忘記最後一位數會乘零,要加回去

一樣用 ch - '0'再轉成int可以輕鬆取值

 



2

24

24

24

2

 
ZeroJudge Forum