c语言口令程序,谁能帮我修改,限制输入只能是6位数字?
答案:6 悬赏:20 手机版
解决时间 2021-03-31 06:26
- 提问者网友:泪痣哥哥
- 2021-03-31 03:26
c语言口令程序,谁能帮我修改,限制输入只能是6位数字?
最佳答案
- 五星知识达人网友:鱼忧
- 2021-03-31 04:56
#include
void main()
{
int i = 1,flag=0,a;
printf("请输入密码:");
scanf("%d",&a);
while ( i <=3)
{
if (a==123456)
{
flag=1;
break;
}
if (a!=123456)
{
printf("密码错误!你还有2次机会,请重新输入:");
i++;
scanf("%d",&a);
}
if (a!=123456)
{
printf("密码错误!你还有1次机会,请重新输入:");
i++;
scanf("%d",&a);
}
if (a!=123456)
{
printf("想盗号?你太年轻了!!!\n");
break;
}
}
if(flag==1)
printf("欢迎光临\n");
}追问我是想在输入的时候控制输入只能是6位。不能多,也不能少。。。。。。。。追答不知道你想干什么,多于6位要怎样?少于6位要怎样?
void main()
{
int i = 1,flag=0,a;
printf("请输入密码:");
scanf("%d",&a);
while ( i <=3)
{
if (a==123456)
{
flag=1;
break;
}
if (a!=123456)
{
printf("密码错误!你还有2次机会,请重新输入:");
i++;
scanf("%d",&a);
}
if (a!=123456)
{
printf("密码错误!你还有1次机会,请重新输入:");
i++;
scanf("%d",&a);
}
if (a!=123456)
{
printf("想盗号?你太年轻了!!!\n");
break;
}
}
if(flag==1)
printf("欢迎光临\n");
}追问我是想在输入的时候控制输入只能是6位。不能多,也不能少。。。。。。。。追答不知道你想干什么,多于6位要怎样?少于6位要怎样?
全部回答
- 1楼网友:痴妹与他
- 2021-03-31 07:45
while(a/1000000>1)
{
a/=10;
}
只针对int这些类型的,就相当于一个7位数除10就变成了6位数,用while执行完后就是六位数了。
{
a/=10;
}
只针对int这些类型的,就相当于一个7位数除10就变成了6位数,用while执行完后就是六位数了。
- 2楼网友:鱼芗
- 2021-03-31 07:31
密码可以考虑用字符串。追问字符串也试过了。。。。。不懂怎么控制输入只能是6位,不能多,也不能少。
- 3楼网友:千杯敬自由
- 2021-03-31 07:19
你的代码本身就有错误啊追问你运行看看,再说。追答#include
void main()
{
int i = 1,n,a;
printf("请输入密码:");
scanf("%d",&a);
while(a<=99999||a>999999)
{
printf("你输错了六位数哦");
scanf("%d",&a);
}
while ( (i < 3)&&a!=123456)
{
if (a!=123456)
printf("密码错误!你还有2次机会,请重新输入:");
i++;
scanf("%d",&a);
if (a!=123456)
printf("密码错误!你还有1次机会,请重新输入:");
i++;
scanf("%d",&a);
if (a!=123456)
printf("想盗号?你太年轻了!!! ");
}
if (a==123456)
printf("欢迎光临 ");
}追问我是想在输入的时候控制输入只能是6位。不能多,也不能少。。。。。。。。
void main()
{
int i = 1,n,a;
printf("请输入密码:");
scanf("%d",&a);
while(a<=99999||a>999999)
{
printf("你输错了六位数哦");
scanf("%d",&a);
}
while ( (i < 3)&&a!=123456)
{
if (a!=123456)
printf("密码错误!你还有2次机会,请重新输入:");
i++;
scanf("%d",&a);
if (a!=123456)
printf("密码错误!你还有1次机会,请重新输入:");
i++;
scanf("%d",&a);
if (a!=123456)
printf("想盗号?你太年轻了!!! ");
}
if (a==123456)
printf("欢迎光临 ");
}追问我是想在输入的时候控制输入只能是6位。不能多,也不能少。。。。。。。。
- 4楼网友:梦中风几里
- 2021-03-31 06:12
在你输入a的值以后加入一个判断就可以了,六位数无非是从100000到999999,条件控制,
if(a<100000 || a>999999){
printf("请重新输入一六位数\n");
scanf("%d",&a);
}追问我是想在输入的时候控制输入只能是6位。不能多,也不能少。。。。。。。追答这个只能判断输入的是不是六位数,不能控制输入只能是6位吧,比如说你告诉他这是一个6位数的密码,他就是输五位,我们没办法啊,所以我们只能判断他输的是不是六位,而不能控制他必须输6位
if(a<100000 || a>999999){
printf("请重新输入一六位数\n");
scanf("%d",&a);
}追问我是想在输入的时候控制输入只能是6位。不能多,也不能少。。。。。。。追答这个只能判断输入的是不是六位数,不能控制输入只能是6位吧,比如说你告诉他这是一个6位数的密码,他就是输五位,我们没办法啊,所以我们只能判断他输的是不是六位,而不能控制他必须输6位
- 5楼网友:人间朝暮
- 2021-03-31 05:25
#include
void main()
{
long n=0;//待存放录入密码
long d=999999;//预设密码
//录入数据不为六位数,则一直要求录入
while (1)//负责验证录入密码的"外循环"
{
while (1)//负责验证录入数据位数的"录入循环"
{
printf("请输入密码:");
scanf("%ld",&n);
//录入数据不为六位数时,退出录入循环
if (n>99999||n<=999999)
break;
}
if (n==d)
{//录入数据与密码相同时,提示并退出
printf("欢迎光临\n");
return 0;
}
else//否则,录入数据与密码不同时,提示并要求
printf("密码错误!请重新输入:");
}
}
void main()
{
long n=0;//待存放录入密码
long d=999999;//预设密码
//录入数据不为六位数,则一直要求录入
while (1)//负责验证录入密码的"外循环"
{
while (1)//负责验证录入数据位数的"录入循环"
{
printf("请输入密码:");
scanf("%ld",&n);
//录入数据不为六位数时,退出录入循环
if (n>99999||n<=999999)
break;
}
if (n==d)
{//录入数据与密码相同时,提示并退出
printf("欢迎光临\n");
return 0;
}
else//否则,录入数据与密码不同时,提示并要求
printf("密码错误!请重新输入:");
}
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯