**题目要求:
设定口令为“yulingxi”,请求输入,如果错误循环输入直至正确为止。
1,偷懒用strcmp()的做法:
#define _CRT_SECURE_NO_WARNINGS
# include<stdio.h>
#include<string.h>
#include<stdlib.h>
void main()
{
char a[9] = { "yulingxi" };
char b[20] = { NULL };
printf("请输入八位字母的口令: \n");
while (strcmp(a, b) != 0)
{
b[0] ? printf("\n口令错误,请重新输入!!!!\n") : printf("");
scanf("%s", &b);
getchar();
}
printf("\n口令正确,欢迎使用!\n\n");
system("pause");
}
2,老实方法,手动编写一个strcmp函数
#define _CRT_SECURE_NO_WARNINGS
# include<stdio.h>
int check_str(char a[20], char b[20])
{
int i = 0;
while (i<9)
{
if (a[i] != b[i])
{
return 0;
}
i++;
}
return 1;
}
void main()
{
char a[9] = { "yulingxi" };
char b[20] = { '\0' };
printf("请输入八位字母的口令: \n");
scanf("%s", &b);
getchar();
while (!check_str(a, b))
{
printf("\n口令错误,请重新输入!!!!\n");
scanf("%s", &b);
getchar();
}
printf("\n口令正确,欢迎使用!");
getchar();
}
3,笨方法的装逼简化版
#define _CRT_SECURE_NO_WARNINGS
# include<stdio.h>
# include<stdlib.h>
int check_str(char a[20], char b[20])
{
int i;
for ( i = 0; i < 9 && a[i] == b[i]; i++);
return (i == 9) ? 1 : 0;
}
void main()
{
char a[9] = { "yulingxi" };
char b[20] = { NULL };
printf("请输入八位字母的口令: \n");
while (!check_str(a, b))
{
b[0] ? printf("\n口令错误,请重新输入!!!!\n"):NULL;
scanf("%s", &b);
getchar();
}
printf("\n口令正确,欢迎使用!");
getchar();
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)