#include
int main(){
char s[80];
int i,L,flag,n=1;
printf("enter passwd with 6 digits. or exit by Ctrl-C\n");
while(1){
flag=1;
gets(s); L=strlen(s);
for (i=0;i
if (flag==1) {printf("PassWord-%d is %s Length=%d\n",n,s,L); n++;}
else printf("error\n");
}
return 0;
}
程序没有检查 输入口令长度 是否超过6个,若需要,你可以 用 L 判断,L>6 就是超过6,L==0 就是空的口令。
按 Ctrl+C 退出运行。
首先分析问题:重复输出同一类语句肯定要用循环,有关判断肯定要用分支。所以解决这个问题就是在一个循环(用于重复读取数据和输出)里面套一个分支语句(判断密码是数字还是字母)。具体代码:
#include
#include
#include
main()
{
char c;
int f=0;
printf("Input your password:\n");
while(f<6){
scanf(" %c",&c);//重复输入这种char类型的数据一定要在前面加个空格,否则会读取上次残留的数据
if(c>='0'&&c<='9'){
f++;
printf("%c, you have enter %d-bits number\n",c,f);
}
else
printf("error\n");
}
system("pause");