永发信息网

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位要怎样?
全部回答
  • 1楼网友:痴妹与他
  • 2021-03-31 07:45
while(a/1000000>1)
{
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位。不能多,也不能少。。。。。。。。
  • 4楼网友:梦中风几里
  • 2021-03-31 06:12
在你输入a的值以后加入一个判断就可以了,六位数无非是从100000到999999,条件控制,
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("密码错误!请重新输入:");
}
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯