c语言编程题
从键盘输入6位仅由数字0~9组成的密码。用户每输入一个密码并按回车键后,程序给出判断:如果是数字,则原样输出该数字,并提示用户目前已经输入了几位密码,同时继续输入下一位密...
从键盘输入6位仅由数字0~9组成的密码。用户每输入一个密码并按回车键后,程序给出判断:如果是数字,则原样输出该数字,并提示用户目前已经输入了几位密码,同时继续输入下一位密码;否则,程序提示"error",并让用户继续输入下一位密码。直到用户输入的密码全部是数字为止。
程序的运行结果示例:
Input your password:
1↙
1, you have enter 1-bits number
6↙
6, you have enter 2-bits number
a↙
error
d↙
error
4↙
4, you have enter 3-bits number
6↙
6, you have enter 4-bits number
8↙
8, you have enter 5-bits number
2↙
2, you have enter 6-bits number
输入提示信息:"Input your password:\n"
输入格式: "%c"
输出格式:
如果输入的是数字,输出格式为:"%c, you have enter %d-bits number\n"
如果输入的不是数字,输出提示信息:"error\n"
为避免出现格式错误,请直接拷贝粘贴题目中给的格式字符串和提示信息到你的程序中。 展开
程序的运行结果示例:
Input your password:
1↙
1, you have enter 1-bits number
6↙
6, you have enter 2-bits number
a↙
error
d↙
error
4↙
4, you have enter 3-bits number
6↙
6, you have enter 4-bits number
8↙
8, you have enter 5-bits number
2↙
2, you have enter 6-bits number
输入提示信息:"Input your password:\n"
输入格式: "%c"
输出格式:
如果输入的是数字,输出格式为:"%c, you have enter %d-bits number\n"
如果输入的不是数字,输出提示信息:"error\n"
为避免出现格式错误,请直接拷贝粘贴题目中给的格式字符串和提示信息到你的程序中。 展开
展开全部
#include <stdio.h>
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<L;i++) if (s[i]< '0' || s[i] > '9') flag=0;
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 退出运行。
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<L;i++) if (s[i]< '0' || s[i] > '9') flag=0;
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 <stdio.h>
#include<stdlib.h>
#include<math.h>
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");
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询