解題思路:
身份證18位,前17位根據給出的權重,求加權值,以加權值%11的模為下標,取對應的校驗碼。比較身份證的第18位,如果不同則放入輸出陣列。當然如果前17位中存在非數字也放入輸出陣列。最後只需要判斷輸出陣列是否為空,空則all passed,不為空依次輸出即可
package main
import (
"fmt"
)func main()
var flag = byte
_, _ = fmt.scanf("%d", &n)
inputstr = make(string, n)
outputstr = make(string, n)
for i:=0; i= 17
} }if k == 0 else
}}
PAT乙級1031 查驗身份證
思路 看題知意,按照題目意思模擬一下即可 如下,提交使用g include using namespace std intmain char check 11 int n,count 0,wsum string id cin n for int k 1 k n k else 否則這個id前17有不是...
PAT1031查驗身份證
只有 沒有講解,作為留念。include include using namespace std int n int quan 權重 const int maxn 100 可輸入的最大值 string s maxn 用於儲存身份證資訊的陣列 char getdata int value return...
1031 查驗身份證 15
原題 思路 雖然容易,但是不細心,也挺耽誤時間.完整實現 include int main void 17個 int m 11 int wrong1 0 第1種錯誤 int flag 0 只要發生錯誤就標記為1 char id 19 最後一位放 0 int n int sum int i int j...