PAT乙 1031 查驗身份證(GO實現)

2021-09-23 22:17:04 字數 430 閱讀 8824

解題思路:

身份證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...