如题所述
#include <stdio.h>
#include <string.h>
#include <ctype.h>
int main()
{ char psw[21]="123456",t1[21],t2[21];
int i,n=0;
printf("请输入初始密码:\n");
do
{ gets(t1);
n++;
err=strcmp(t1,psw);
if(err)printf("初始密码错误!请重新输入!\n");
}
while(err&&n<3);
if(strcmp(t1,psw))
{ printf("密码错误,不能登录!\n");
return 0;
}
while(n<3)
{ while(n<3)
{ printf("请输入新密码:\n");
gets(t1);
for(i=0; t1[i]; i++)
if(isdigit(t1[i]))n++;
if(n<3)
{ n=0;
printf("数字必须大于2位!\n");
}
}
printf("请再次输入新密码:\n");
gets(t2);
if(strcmp(t1,t2)==0)
printf("密码修改成功!\n");
else
{ printf("二次密码不一致!\n");
n=0;
}
}
return 0;
}
#include <string.h>
#include <ctype.h>
int main()
{ char psw[21]="123456",t1[21],t2[21];
int i,n=0;
printf("请输入初始密码:\n");
do
{ gets(t1);
n++;
err=strcmp(t1,psw);
if(err)printf("初始密码错误!请重新输入!\n");
}
while(err&&n<3);
if(strcmp(t1,psw))
{ printf("密码错误,不能登录!\n");
return 0;
}
while(n<3)
{ while(n<3)
{ printf("请输入新密码:\n");
gets(t1);
for(i=0; t1[i]; i++)
if(isdigit(t1[i]))n++;
if(n<3)
{ n=0;
printf("数字必须大于2位!\n");
}
}
printf("请再次输入新密码:\n");
gets(t2);
if(strcmp(t1,t2)==0)
printf("密码修改成功!\n");
else
{ printf("二次密码不一致!\n");
n=0;
}
}
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答 2019-05-28
#include <>
int main(int argc, char *argv[])
{
char password[32] = "123456";
int i = 0, num = 0;
printf("初始密码为:%s\n", password);
printf("输入你的新密码:\n");
scanf("%s", password);
while('\0' != password[i])
{
if (password[i] >= '0' && password[i] <= '9')
{
num++;
}
else
{
if (num > 0 && num <= 2)
{
printf("数字必须大于2位\n");
return 0;
}
num = 0;
}
i++;
}
if (num > 0 && num <= 2)
{
printf("数字必须大于2位\n");
return 0;
}
printf("修改成功!新密码为:%s\n", password);
return 0;
}本回答被网友采纳