您的位置:首页 > 其它

PAT 乙级1067. 试密码

2017-05-08 19:26 330 查看
需要注意的问题:

1、第二行及后面的答案含有空格

2、答案比较判断语句写法注意判断长度:if(strncmp(ans,str,strlen(str))==0&&strlen(str)==strlen(ans))。如果没有判断长度,当输入字符串str是ans从位置0开始的子串时,判断结果为真。

#include<cstdio>
#include<cstring>
using namespace std;

#define MAX_ANS_LEN 50
int main(int argc, char* argv[])
{
int n=0;
char ans[MAX_ANS_LEN];
char str[100];
int i=0,c;
scanf("%s %d",ans,&n);
getchar();
while(n--)
{
i=0;
gets(str);
if(strncmp("#",str,strlen(str))==0)
{
return 0;
}

if(strncmp(ans,str,strlen(str))==0&&strlen(str)==strlen(ans))
{
printf("Welcome in");
return 0;
}
else
printf("Wrong password: %s\n",str);
}
if(n<=0)
{
printf("Account locked");
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: