PTA 乙级 1067 试密码 (20分) C++
思路:输入后直接对比,没什么可说的
题目中说正确密码里不包含空格、Tab、回车的非空字符串,可没说错误答案里不包含(所以要用getline(),否则测试点2、5会出现问题)
(为什么在使用getline前要用一个getchar(),不用一个getchar()所有测试点就无法通过。。。很奇怪)
1 #include<iostream> 2 #include<cstdio> 3 #include<cstdlib> 4 5 using namespace std; 6 7 int main() { 8 string right; 9 int n = 0; 10 cin >> right >> n; 11 getchar(); 12 for (int i = 0; i < n; ++i) { 13 string tmp; 14 getline(cin, tmp); 15 if (tmp == "#") return 0; 16 if (tmp == right) { cout << "Welcome in" << endl; return 0; } 17 else cout << "Wrong password: " << tmp << endl; 18 } 19 cout << "Account locked" << endl; 20 return 0; 21 }
默默地一点点变强,细节决定成败