PTA乙级题 1067. 试密码(20)
【题目链接】
用C写19分,C++写20分,实在找不到哪里不一样。
20分的C++代码。
#include <iostream>
#include <string>
using namespace std;
int main()
{
string key;
int count=0;
cin>>key>>count;
getchar();
while (1)
{
string p;
getline(cin,p);
if (p=="#")
break;
if (p==key)
{
cout<<"Welcome in"<<endl;
return 0;
}
else
{
cout<<"Wrong password: "<<p<<endl;
count--;
if (count==0)
{
cout<<"Account locked"<<endl;
return 0;
}
}
}
}
19分的C代码。
#include<stdio.h>
#include<string.h>
int main()
{
char a[25];
memset(a,0,sizeof(a));
int count=0;
scanf("%s %d\n",a,&count);
while (1)
{
char b[100];
gets(b);
if (b[0]=='#'&&strlen(b)==1)
break;
if (strcmp(a,b)==0)
{
printf("Welcome in\n");
return 0;
}
else
{
count--;
printf("Wrong password: %s\n",b);
if (count==0)
{
printf("Account locked\n");
return 0;
}
}
}
return 0;
}