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;
}