Wy10145833 2022-07-28 23:48 采纳率: 80%
浏览 25
已结题

输入一串字符来进行密码检测

问题遇到的现象和发生背景

img

问题相关代码,请勿粘贴截图

int main(){
int s1,i;
int count1=0,count2=0;
int a[100];
scanf("%s",a);
for(i=1;a[i]!='#';i++){
if(a[i]>'0'&&a[i]<'9')
count1++;
else if(a[i]>'a'&&a[i]<'z'||a[i]>'A'&&a[i]<'Z')
count2++;
else printf("密码不合格"); break;
}
if(i<6) printf("密码不合格");
if(count1<2) printf("密码不合格");
else printf("密码合格");
return 0;
}

运行结果及报错内容

img

我想要达到的结果

img

  • 写回答

3条回答 默认 最新

  • qzjhjxj 2022-07-29 09:25
    关注

    供参考:

    #include <stdio.h>
    int main() 
    {
        int i = 0, cnt1 = 0, cnt2 = 0;
        char a[100] = { 0 };
        while ((a[i] = getchar()) != '#') {
            if (a[i] >= '0' && a[i] <= '9')
                cnt1++;
            else if (a[i] >= 'a' && a[i] <= 'z' || 
                     a[i] >= 'A' && a[i] <= 'Z')
                cnt2++;
            i++;
        }
        if (i < 6 || cnt1 + cnt2 != i || cnt1 < 2)
            printf("密码不合法");
        else            
            printf("密码合法");
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 8月6日
  • 已采纳回答 7月29日
  • 创建了问题 7月28日

悬赏问题

  • ¥15 WPF 大屏看板表格背景图片设置
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示