PAT乙級 1067 試密碼 20分

2021-10-05 18:47:45 字數 1548 閱讀 2037

當你試圖登入某個系統卻忘了密碼時,系統一般只會允許你嘗試有限多次,當超出允許次數時,賬號就會被鎖死。本題就請你實現這個小功能。

輸入在第一行給出乙個密碼(長度不超過 20 的、不包含空格、tab、回車的非空字串)和乙個正整數 n(≤

≤≤ 10),分別是正確的密碼和系統允許嘗試的次數。隨後每行給出乙個以回車結束的非空字串,是使用者嘗試輸入的密碼。輸入保證至少有一次嘗試。當讀到一行只有單個 # 字元時,輸入結束,並且這一行不是使用者的輸入。

對使用者的每個輸入,如果是正確的密碼且嘗試次數不超過 n,則在一行中輸出welcome in,並結束程式;如果是錯誤的,則在一行中按格式輸出wrong password: 使用者輸入的錯誤密碼;當錯誤嘗試達到 n 次時,再輸出一行account locked,並結束程式。

correct%pw 3

correct%pw

correct@pw

whatisthepassword!

correct%pw

#

wrong password: correct%pw

wrong password: correct@pw

wrong password: whatisthepassword!

account locked

cool@gplt 3

coolman@gplt

coollady@gplt

cool@gplt

try again

#

wrong password: coolman@gplt

wrong password: coollady@gplt

welcome in

get

char

()

getchar()

getcha

r() 獲取 cin

cinci

n 後的換行符,避免換行符被 get

line

(cin

,s

)getline(cin, s)

getlin

e(ci

n,s)

獲取;get

line

(cin

,s

)getline(cin,s)

getlin

e(ci

n,s)

獲取整行輸入的密碼,程式結束條件是s != '#'

#include

#include

using

namespace std;

intmain()

else

if(s == password && n >0)

}if(n ==

0) cout <<

"account locked"

;// 錯誤次數過多

return0;

}

PAT乙級 1067 試密碼 20分

當你試圖登入某個系統卻忘了密碼時,系統一般只會允許你嘗試有限多次,當超出允許次數時,賬號就會被鎖死。本題就請你實現這個小功能。輸入格式 輸入在第一行給出乙個密碼 長度不超過 20 的 不包含空格 tab 回車的非空字串 和乙個正整數 n 10 分別是正確的密碼和系統允許嘗試的次數。隨後每行給出乙個以...

PAT乙級 1067 試密碼 20分

題目描述 當你試圖登入某個系統卻忘了密碼時,系統一般只會允許你嘗試有限多次,當超出允許次數時,賬號就會被鎖死。本題就請你實現這個小功能。輸入格式 輸入在第一行給出乙個密碼 長度不超過 20 的 不包含空格 tab 回車的非空字串 和乙個正整數 n 10 分別是正確的密碼和系統允許嘗試的次數。隨後每行...

PAT乙級 1067 試密碼 20分

1067 試密碼 20分 當你試圖登入某個系統卻忘了密碼時,系統一般只會允許你嘗試有限多次,當超出允許次數時,賬號就會被鎖死。本題就請你實現這個小功能。輸入格式 輸入在第一行給出乙個密碼 長度不超過 20 的 不包含空格 tab 回車的非空字串 和乙個正整數 n 10 分別是正確的密碼和系統允許嘗試...