PAT (Nivel Básico) Práctica (China) 1081 contraseñas de verificación (15 puntos)

1. Tema

Esta pregunta le pide que ayude módulo de registro de usuario de un sitio a escribir la contraseña para comprobar la legalidad de pequeñas características. El sitio requiere que los usuarios establecer una contraseña debe constar de un mínimo de seis caracteres , y puede sólo letras, números y puntos decimales . debe ser también las dos cartas son también números .

Formatos de entrada:

La primera línea de entrada se le da un número entero positivo N (≤ 100), seguido de N filas, se da a cada usuario una contraseña se establece, no más de 80 caracteres, cadena no vacía a los de transporte extremos.

Los formatos de salida:

Contraseña para cada usuario, en un sistema de salida de información de retroalimentación fila, los siguientes cinco puntos:

  • Si la contraseña es legítima, la salida Your password is wan mei.;
  • Si la contraseña es demasiado corta, sea legítimo o no, la salida Your password is tai duan le.;
  • Si la longitud de la contraseña legítima, pero no hay ningún carácter legal, la salida Your password is tai luan le.;
  • Si la longitud de la contraseña legítima, pero sólo la carta no es un número, la salida Your password needs shu zi.;
  • Si la longitud de la contraseña legítima, pero no los números sólo letras, el de salida Your password needs zi mu..

de entrada de la muestra:

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

Resultado de muestra:

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.

 2. Código

#include<iostream>
#include<string>
#include<cstring>
using namespace std;
int main()
{
	int n;
	string temp;
	cin >> n;
	getchar();
	for (int i = 0; i < n; i++)
	{
		getline(cin, temp);
		if (temp.length() < 6) { cout << "Your password is tai duan le." << endl; continue; }
		int count = 0; bool  num = false, alpha = false;
		for (int j = 0; j < temp.length(); j++)
		{
			if (temp[j] >= '0'&&temp[j] <= '9' || temp[j] >= 'A'&&temp[j] <= 'Z' || temp[j] >= 'a'&&temp[j] <= 'z' || temp[j] == '.')
				count++;
			if (temp[j] >= '0'&&temp[j] <= '9')num = true;
			if (temp[j] >= 'A'&&temp[j] <= 'Z' || temp[j] >= 'a'&&temp[j] <= 'z')alpha = true;
		}
		if (count != temp.length()) { cout << "Your password is tai luan le." << endl; continue; }
		if(!num&&alpha) { cout << "Your password needs shu zi." << endl; continue; }
		if (num&&!alpha) { cout << "Your password needs zi mu." << endl; continue; }
		cout << "Your password is wan mei." << endl;
	}

}

 

Publicados 136 artículos originales · ganado elogios 4 · Vistas 2473

Supongo que te gusta

Origin blog.csdn.net/qq_42325947/article/details/104735622
Recomendado
Clasificación