1. 程式人生 > >1081 檢查密碼 (15)(15 分)

1081 檢查密碼 (15)(15 分)

1081 檢查密碼 (15)(15 分)

本題要求你幫助某網站的使用者註冊模組寫一個密碼合法性檢查的小功能。該網站要求使用者設定的密碼必須由不少於6個字元組成,並且只能有英文字母、數字和小數點".",還必須既有字母也有數字。

輸入格式:

輸入第一行給出一個正整數 N(<=100),隨後 N 行,每行給出一個使用者設定的密碼,為不超過80個字元的非空字串,以回車結束。

輸出格式:

對每個使用者的密碼,在一行中輸出系統反饋資訊,分以下5種:

  • 如果密碼合法,輸出“Your password is wan mei.”;
  • 如果密碼太短,不論合法與否,都輸出“Your password is tai duan le.”;
  • 如果密碼長度合法,但存在不合法字元,則輸出“Your password is tai luan le.”;
  • 如果密碼長度合法,但只有字母沒有數字,則輸出“Your password needs shu zi.”;
  • 如果密碼長度合法,但只有數字沒有字母,則輸出“Your password needs zi mu.”。

輸入樣例:

5
123s
zheshi.wodepw
1234.5678
WanMei23333
pass*word.6

輸出樣例:

Your password is tai duan le.
Your password needs shu zi.
Your password needs zi mu.
Your password is wan mei.
Your password is tai luan le.

為什麼直接 cin>>輸入就會錯一個樣例 很奇怪!一定要加 getchar() + getline(cin,)

然後直接模擬就好了

#include<bits/stdc++.h>
using namespace std;

void solve() {

	int x;
	string s;
	cin >> x;
	getchar();
	while (x--) {
		getline(cin,s);
		if (s.length() < 6)
			cout << "Your password is tai duan le." << endl;
		else {
			int szcnt = 0;
			int zmcnt = 0;
			int pd = 0;
			for (int i = 0; i < s.length(); i++) {
				if (s[i] >= '0'&&s[i] <= '9') szcnt++;
				else if ((s[i] >= 'A'&&s[i] <= 'Z') || (s[i] >= 'a'&&s[i] <= 'z')) zmcnt++;
				else if (s[i] != '.'){
				  pd =1;break;
				}
			}
			if (pd)
				cout << "Your password is tai luan le." << endl;
			else if (!zmcnt)
				cout << "Your password needs zi mu." << endl;
			else if (!szcnt)
				cout << "Your password needs shu zi." << endl;
			else cout << "Your password is wan mei." << endl;
		}
	}

}

int main() {

	solve();
	return 0;
}

相關推薦

PAT乙級 1081 檢查密碼 15

本題要求你幫助某網站的使用者註冊模組寫一個密碼合法性檢查的小功能。該網站要求使用者設定的密碼必須由不少於6個字元組成,並且只能有英文字母、數字和小數點 .,還必須既有字母也有數字。 輸入格式: 輸入第一行給出一個正整數 N(≤ 100),隨後 N 行,每行給出一個使用者設定的密碼,為

1081 檢查密碼 15

本題要求你幫助某網站的使用者註冊模組寫一個密碼合法性檢查的小功能。該網站要求使用者設定的密碼必須由不少於6個字元組成,並且只能有英文字母、數字和小數點 .,還必須既有字母也有數字。 #include<iostream> #include<string>

PAT乙級1081 檢查密碼15

1081 檢查密碼(15 分) 本題要求你幫助某網站的使用者註冊模組寫一個密碼合法性檢查的小功能。該網站要求使用者設定的密碼必須由不少於6個字元組成,並且只能有英文字母、數字和小數點 .,還必須既有字母也有數字。 輸入格式: 輸入第一行給出一個正整數 N(≤ 100),

PAT-乙-1081 1081 檢查密碼 15

程式碼 #include <iostream> using namespace std; int main() { int n; cin>>n; string s; getline(cin, s); for(int

1081 檢查密碼 (15)15

1081 檢查密碼 (15)(15 分)本題要求你幫助某網站的使用者註冊模組寫一個密碼合法性檢查的小功能。該網站要求使用者設定的密碼必須由不少於6個字元組成,並且只能有英文字母、數字和小數點".",還必

PAT-乙級-1081. 檢查密碼 (15)問題程式碼求助已解決

1081. 檢查密碼 (15)時間限制400 ms記憶體限制65536 kB程式碼長度限制8000 B判題程式Standard作者CHEN, Yue本題要求你幫助某網站的使用者註冊模組寫一個密碼合法性檢查的小功能。該網站要求使用者設定的密碼必須由不少於6個字元組成,並且只能有

PAT 1081 檢查密碼15 程式碼+思路

1081 檢查密碼(15 分) 本題要求你幫助某網站的使用者註冊模組寫一個密碼合法性檢查的小功能。該網站要求使用者設定的密碼必須由不少於6個字元組成,並且只能有英文字母、數字和小數點 .,還必須既有字母也有數字。 輸入格式: 輸入第一行給出一個正整數 N(≤ 100),

1081 檢查密碼 15 )

!= letter 選項 color line -- col include 實現 #include <iostream> #include <string> using namespace std; int main(){ in

7-15 兩個有序鏈表序列的合並20

一行 htm text all color div 兩個 turn nbsp 已知兩個非降序鏈表序列S1與S2,設計函數構造出S1與S2的並集新非降序鏈表S3。 輸入格式: 輸入分兩行,分別在每行給出由若幹個正整數構成的非降序序列,用−1表示序列的結

1001 害死人不償命的(3n+1)猜想 (15)15

自然 all 輸出 猜想 stdio.h 大會 light 證明 n) /* 1001 害死人不償命的(3n+1)猜想 (15)(15 分) 卡拉茲(Callatz)猜想: 對任何一個自然數n,如果它是偶數,那麽把它砍掉一半;如果它是奇數,那麽把(3n+1)砍掉一半。這

Data Structures and Algorithms (English) - 6-15 Iterative Mergesort25

題目連結:點選開啟連結   題目大意:略。   解題思路:略。   AC 程式碼 void merge_pass( ElementType list[], ElementType sorted[], int N, int length )

7-15 BCD解密 10

BCD數是用一個位元組來表達兩位十進位制的數,每四個位元表示一位。所以如果一個BCD數的十六進位制是0x12,它表達的就是十進位制的12。但是小明沒學過BCD,把所有的BCD數都當作二進位制數轉換成十進位制輸出了。於是BCD的0x12被輸出成了十進位制的18了! 現在,你的程式要讀入這個錯誤

java-1011 A+B和C (15)15

一、題幹 1011 A+B和C (15)(15 分) 給定區間[-2^31^, 2^31^]內的3個整數A、B和C,請判斷A+B是否大於C。 輸入格式: 輸入第1行給出正整數T(<=10),是測試用例的個數。隨後給出T組測試用例,每組佔一行,順序給出A、B和

PAT刷題集乙級1011 A+B和C (15)15

1011 A+B和C (15)(15 分) 給定區間[-2^31^, 2^31^]內的3個整數A、B和C,請判斷A+B是否大於C。 輸入格式: 輸入第1行給出正整數T(<=10),是測試用例的個數。隨後給出T組測試用例,每組佔一行,順序給出A、B和C。整數間以空格分隔。

PAT刷題集乙級1006 換個格式輸出整數 (15)15

1006 換個格式輸出整數 (15)(15 分) 讓我們用字母B來表示“百”、字母S表示“十”,用“12…n”來表示個位數字n(&lt10),換個格式來輸出任一個不超過3位的正整數。例如234應該被輸出為BBSSS1234,因為它有2個“百”、3個“十”、以及個位的4。

【PAT】1081. 檢查密碼 (15)【C語言實現】

簡單邏輯題。#include <stdio.h> #include <string.h> #include <stdlib.h> #include <math.h> int main() { int n; int i; c

PAT乙 1081. 檢查密碼 (15)

題目介紹:    本題要求你幫助某網站的使用者註冊模組寫一個密碼合法性檢查的小功能。該網站要求使用者設定的密碼必須由不少於6個字元組成,並且只能有英文字母、數字和小數點".",還必須既有字母也有數字。輸

1081 檢查密碼isalpha...

本題要求你幫助某網站的使用者註冊模組寫一個密碼合法性檢查的小功能。該網站要求使用者設定的密碼必須由不少於6個字元組成,並且只能有英文字母、數字和小數點 .,還必須既有字母也有數字。 輸入格式: 輸入第一行給出一個正整數 N(≤ 100),隨後 N 行,每行給出一個使用者設

1001 害死人不償命的(3n+1)猜想 (15)15 Java

卡拉茲(Callatz)猜想: 對任何一個自然數n,如果它是偶數,那麼把它砍掉一半;如果它是奇數,那麼把(3n+1)砍掉一半。這樣一直反覆砍下去,最後一定在某一步得到n=1。卡拉茲在1950年的世界數學家大會上公佈了這個猜想,傳說當時耶魯大學師生齊動員,拼命想證明這個貌似很

PTA7-15 程式設計列印空心字元菱形10

本題目要求讀入菱形起始字母和菱形的高度,然後輸出空心字元菱形。所謂“空心菱形”是指:每行由兩端為字母、中間為空格的字串構成,每行的字串中心對齊;上半部分相鄰兩行字串長度差2,且字母從給定的起始字母逐一遞增;下半部分與上半部分對稱。 輸入格式: 輸入在一行中給出起始字母(範圍為英文大寫字母A-G)和菱形的高度