鱼C论坛

 找回密码
 立即注册
查看: 1950|回复: 4

[已解决]作業問題

[复制链接]
发表于 2022-5-4 10:26:24 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 caspar1 于 2022-5-4 10:28 编辑

試撰寫一函式password() 檢視密碼是否有效。
假設密碼的規則如下:
(1) 必須要有八個字元
(2) 必須只包含英文字母和數字
(3) 必須包含至少有兩個數字◦
請以一程式呼叫此函式,若密碼符合上述規則,則顯示「有效密碼」,否則顯示「無效密碼」。

我不太了解如何將三個條件放入同一個回圈去執行,必須包含八個字元是要如何去打程式
最佳答案
2022-5-4 11:34:48
本帖最后由 jhq999 于 2022-5-4 22:47 编辑
char str[32]={0};
scanf("%s",str);
int i=0,numcount=0,other=0;
while(str[i])
{
        if(str[i]>='0'&&str[i]<='9')numcount++;
        else if((str[i]>='a'&&str[i]<='z')||(str[i]>='A'&&str[i]<='Z'));
        else
        {
                other=1;
                break;
        }
        i++;
}
if(other||(numcount<2)||(i<8))printf("無效密碼");//这个other也可去掉
else
        printf("有效密碼");
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-5-4 11:34:48 | 显示全部楼层    本楼为最佳答案   
本帖最后由 jhq999 于 2022-5-4 22:47 编辑
char str[32]={0};
scanf("%s",str);
int i=0,numcount=0,other=0;
while(str[i])
{
        if(str[i]>='0'&&str[i]<='9')numcount++;
        else if((str[i]>='a'&&str[i]<='z')||(str[i]>='A'&&str[i]<='Z'));
        else
        {
                other=1;
                break;
        }
        i++;
}
if(other||(numcount<2)||(i<8))printf("無效密碼");//这个other也可去掉
else
        printf("有效密碼");
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-5-5 17:25:12 | 显示全部楼层

小弟想問一下,請問other的用途是什麼,我不太理解它放在裡面的用途
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-5-6 06:42:59 | 显示全部楼层
本帖最后由 jhq999 于 2022-5-6 06:46 编辑
caspar1 发表于 2022-5-5 17:25
小弟想問一下,請問other的用途是什麼,我不太理解它放在裡面的用途


看有没有除了数字和字母的之外的其他字符,有就让赋值other为1,退出循环,后面判断时other为真时不符合规则
至于注释里为什么可以去掉,如果不需要不符合规则的原因,可以用i<8包含在里面,因为只要用break跳出循环,i肯定小于8
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-5-10 11:28:26 | 显示全部楼层
jhq999 发表于 2022-5-6 06:42
看有没有除了数字和字母的之外的其他字符,有就让赋值other为1,退出循环,后面判断时other为真时不符 ...

了解了,謝謝哥
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-17 16:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表