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;
}
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;
}
相关文章推荐
- PAT 1067. 试密码(20)-乙级
- PAT乙级 1067. 试密码(20)
- PAT 乙级 1067.试密码(20)
- pat乙级 1067. 试密码(20)
- PAT乙级1067. 试密码(20)
- 乙级 PAT 1067. 试密码(20)
- [PAT乙级]1067. 试密码(20)
- 1067. 试密码(20) PAT乙级真题
- PAT乙级 1067.试密码
- [PAT-乙级]1067.试密码
- PAT乙级 1067. 试密码(20)
- pat 乙级 1067. 试密码(20)
- pat乙级 1067 试密码(c语言实现)
- 1067. 试密码(20) PAT 乙级
- PAT Basic 1067. 试密码(20)(C语言实现)
- 1067. 试密码(20) PAT
- PAT乙级1076. Wifi密码 (15)
- PAT 乙级 1081. 检查密码 (15) 【字符串】
- PAT1067. 试密码(20)题解
- 试密码(PAT-1067)