1067 試密碼 (20 分)

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

輸入格式:

輸入在第一行給出一個密碼(長度不超過 20 的、不包含空格、Tab、回車的非空字符串)和一個正整數 N(≤?10),分別是正確的密碼和系統允許嘗試的次數。隨后每行給出一個以回車結束的非空字符串,是用戶嘗試輸入的密碼。輸入保證至少有一次嘗試。當讀到一行只有單個 # 字符時,輸入結束,并且這一行不是用戶的輸入。

輸出格式:

對用戶的每個輸入,如果是正確的密碼且嘗試次數不超過 N,則在一行中輸出?Welcome in,并結束程序;如果是錯誤的,則在一行中按格式輸出?Wrong password: 用戶輸入的錯誤密碼;當錯誤嘗試達到 N 次時,再輸出一行?Account locked,并結束程序。

輸入樣例 1:

Correct%pw 3
correct%pw
Correct@PW
whatisthepassword!
Correct%pw
#

輸出樣例 1:

Wrong password: correct%pw
Wrong password: Correct@PW
Wrong password: whatisthepassword!
Account locked

輸入樣例 2:

cool@gplt 3
coolman@gplt
coollady@gplt
cool@gplt
try again
#

輸出樣例 2:

Wrong password: coolman@gplt
Wrong password: coollady@gplt
Welcome in


//這道題的坑在于scanf輸出的str和單個字符的strcmp會出現不等的情況
//但是scanf輸入的字符串是可以和str進行比較的
//以后還是用c++中的string比較好用點
#include<cstdio>
#include<cstring>using namespace std;
const int maxn = 1000;
char password[maxn],str[maxn];int main(){int n;scanf("%s %d",password,&n);//getchar();int cnt = 0;while(1){getchar();scanf("%[^\n]",str);if(str[0]=='#'&&str[1]=='\0') break;cnt++;if( cnt <= n && strcmp(str,password) == 0){printf("Welcome in\n");break;}else if( cnt <= n && strcmp(str,password) != 0){printf("Wrong password: %s\n",str);if(cnt == n){printf("Account locked\n");break;}}}return 0;
}
//有問題的 
#include<cstdio>
#include<cstring>const int maxn = 30;
char password[maxn],str[maxn];int main(){int n;scanf("%s %d",password,&n);//getchar();int cnt = 0;while(1){getchar();scanf("%s",str);cnt++;if(strcmp(str,"#") == 0) break;if( cnt <= n && strcmp(str,password) == 0){printf("Welcome in");break;}else if( cnt <= n && strcmp(str,password) != 0){printf("Wrong password: %s\n",str);}if(cnt == n){printf("Account locked\n");break;}}return 0;
}

?

轉載于:https://www.cnblogs.com/wanghao-boke/p/10406120.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/385196.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/385196.shtml
英文地址,請注明出處:http://en.pswp.cn/news/385196.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

1065 單身狗 (25 分)

單身狗”是中文對于單身人士的一種愛稱。本題請你從上萬人的大型派對中找出落單的客人&#xff0c;以便給予特殊關愛。 輸入格式&#xff1a; 輸入第一行給出一個正整數 N&#xff08;≤ 50 000&#xff09;&#xff0c;是已知夫妻/伴侶的對數&#xff1b;隨后 N 行&#xff0c…

存儲

一、多重繼承&#xff08;無虛函數覆蓋&#xff09; 下面&#xff0c;再讓我們來看看多重繼承中的情況&#xff0c;假設有下面這樣一個類的繼承關系。注意&#xff1a;子類并沒有覆蓋父類的函數。 class Base1 { public: virtual void f() { cout << "Base1::f&quo…

【對象程序設計面向】虛繼承

B C虛繼承A&#xff0c;D public繼承 B C &#xff0c;有A *a new D&#xff0c;a->fun(),fun是虛函數&#xff0c;并且B C都重寫了&#xff0c;怎么保證a調用的是B重寫的虛函數。 #include <iostream> using namespace std;class A { public:virtual void fun() { …

BTree和B+Tree詳解

B 樹是為了磁盤或其它存儲設備而設計的一種多叉&#xff08;下面你會看到&#xff0c;相對于二叉&#xff0c;B樹每個內結點有多個分支&#xff0c;即多叉&#xff09;平衡查找樹。 B 樹又叫平衡多路查找樹。一棵m階的B 樹 (m叉樹)的特性如下&#xff1a; 樹中每個結點最多含…

【1】MySQL的四種事務隔離級別

二、事務的并發問題 1、臟讀&#xff1a;事務A讀取了事務B更新的數據&#xff0c;然后B回滾操作&#xff0c;那么A讀取到的數據是臟數據 2、不可重復讀&#xff1a;事務 A 多次讀取同一數據&#xff0c;事務 B 在事務A多次讀取的過程中&#xff0c;對數據作了更新并提交&#x…

MySQL的四種事務隔離級別

1. MySQL的四種事務隔離級別

__thread

__thread是GCC內置的線程局部存儲設施&#xff0c;存取效率可以和全局變量相比。__thread變量每一個線程有一份獨立實體&#xff0c;各個線程的值互不干擾。可以用來修飾那些帶有全局性且值可能變&#xff0c;但是又不值得用全局變量保護的變量。 __thread使用規則&#xff1a…

eventfd(三)

1. 測試代碼&#xff1a; //https://www.jianshu.com/p/d7ebac8dc9f8 #include <stdio.h> #include <unistd.h> #include <stdint.h> #include <pthread.h> #include <sys/eventfd.h> #include <sys/epoll.h>int event_fd -1;void *rea…

04-樹4 是否同一棵二叉搜索樹 (25 分)

給定一個插入序列就可以唯一確定一棵二叉搜索樹。然而&#xff0c;一棵給定的二叉搜索樹卻可以由多種不同的插入序列得到。例如分別按照序列{2, 1, 3}和{2, 3, 1}插入初始為空的二叉搜索樹&#xff0c;都得到一樣的結果。于是對于輸入的各種插入序列&#xff0c;你需要判斷它們…

strtol,strtoll,strtoul, strtoull函數的使用

#include<stdlib.h> // 這個是C標準庫&#xff0c;與linux無關。這套函數是通用 long int strtol(const char *nptr, char **endptr, int base); long long int strtoll(const char *nptr, char **endptr, int base); unsigned long int strtoul(const char *nptr, char …

eventfd(一)

函數原型&#xff1a; 創建的時候可以傳入一個計數器的初始值initval。 第二個參數flags在linux 2.6.26之前的版本是沒有使用的&#xff0c;必須初始化為0&#xff0c;在2.6.27之后的版本flag才被使用。 #include <sys/eventfd.h> int eventfd(unsigned int initval, in…

gettimeofday

作用&#xff1a;需要打印代碼執行到某處的時間&#xff0c;或者需要計算程序執行的時間差&#xff08;精確到微妙級&#xff09;。這時會用到gettimeofday函數&#xff0c;它可以返回自1970-01-01 00:00:00到現在經歷的秒數。 #include <sys/time.h> int gettimeofday(…

02-線性結構2 一元多項式的乘法與加法運算 (20 分

設計函數分別求兩個一元多項式的乘積與和。 輸入格式: 輸入分2行&#xff0c;每行分別先給出多項式非零項的個數&#xff0c;再以指數遞降方式輸入一個多項式非零項系數和指數&#xff08;絕對值均為不超過1000的整數&#xff09;。數字間以空格分隔。 輸出格式: 輸出分2行&…

1066 圖像過濾 (15 分)

圖像過濾是把圖像中不重要的像素都染成背景色&#xff0c;使得重要部分被凸顯出來。現給定一幅黑白圖像&#xff0c;要求你將灰度值位于某指定區間內的所有像素顏色都用一種指定的顏色替換。 輸入格式&#xff1a; 輸入在第一行給出一幅圖像的分辨率&#xff0c;即兩個正整數 M…

從零實現一個http服務器

如果GET請求帶參數&#xff0c;那么一般是附加在請求的url后面&#xff0c;參數與參數之間使用&分割&#xff0c;例如請求http://www.hootina.org/index_2013.php?param1value1m2value2m3value3&#xff0c;我們看下這個請求組裝的的http協議包格式&#xff1a; GET /ind…

1068 萬綠叢中一點紅 (20 分)

對于計算機而言&#xff0c;顏色不過是像素點對應的一個 24 位的數值。現給定一幅分辨率為 MN 的畫&#xff0c;要求你找出萬綠叢中的一點紅&#xff0c;即有獨一無二顏色的那個像素點&#xff0c;并且該點的顏色與其周圍 8 個相鄰像素的顏色差充分大。 輸入格式&#xff1a; 輸…

《個人項目學習指引》

1. 從零實現一個http服務器

1069 微博轉發抽獎 (20 分)

小明 PAT 考了滿分&#xff0c;高興之余決定發起微博轉發抽獎活動&#xff0c;從轉發的網友中按順序每隔 N 個人就發出一個紅包。請你編寫程序幫助他確定中獎名單。 輸入格式&#xff1a; 輸入第一行給出三個正整數 M&#xff08;≤ 1000&#xff09;、N 和 S&#xff0c;分別是…

【1】TCP三次握手的第三次的 ack包丟失會怎樣?

面試題&#xff1a; 在 TCP 建立連接的三次握手連接階段&#xff0c;如果客戶端發送的第三個ACK包丟了&#xff0c;那么客戶端和服務端分別進行什么處理呢&#xff1f; 相信了解 tcp 協議的人&#xff0c;三次握手的過程肯定很了解了。第三次的 ack 包丟失就是說在 client 端…

1070 結繩 (25 分

給定一段一段的繩子&#xff0c;你需要把它們串成一條繩。每次串連的時候&#xff0c;是把兩段繩子對折&#xff0c;再如下圖所示套接在一起。這樣得到的繩子又被當成是另一段繩子&#xff0c;可以再次對折去跟另一段繩子串連。每次串連后&#xff0c;原來兩段繩子的長度就會減…