m0_59360492 2021-06-18 00:19 采纳率: 62.5%
浏览 122
已采纳

一个程序,对用户输入的密码进行检验

设计一个程序,对用户输入的密码进行检测。密码规则为:①长度在 6 至 12

个字符之间(6≦n≦12);②要同时包含大写字母、小写字母、数字与特殊符

号四种字符;③特殊符号为:@,#,$。若用户密码符合要求,则提示密码设置

成功,否则提示密码不符合要求,请重新输入。

  • 写回答

1条回答 默认 最新

  • qfl_sdu 2021-06-18 00:41
    关注

    代码如下:如有帮助,请采纳一下,谢谢。

    #include <stdio.h>
    #include <string.h>
    int main()
    {
    	char buf[100] = {0};
    	int i,len;
    	int A,a,nmb,zf;
    
    	while(1)
    	{
    		A =0,a =0,nmb=0,zf=0;
    		printf("请输入密码:");
    		gets(buf);
    		len = strlen(buf);
    		if (len < 6 || len > 12)
    		{
    			printf("字符长度需要再6-12个字符之间\n");
    			continue;
    		}else
    		{
    			for (i = 0; i< len;i++)
    			{
    				if(buf[i]>='a' && buf[i]<= 'z')
    					a++;
    				else if(buf[i]>='A' && buf[i]<= 'Z')
    					A++;
    				else if(buf[i]>='0' && buf[i]<= '9')
    					nmb++;
    				else if(buf[i] == '@' || buf[i] == '#' || buf[i] == '$')
    					zf++;
    			}
    			if (a == 0)
    			{
    				printf("必须包含小写字母\n");
    				continue;
    			}
    			if (A == 0)
    			{
    				printf("必须包含大写字母\n");
    				continue;
    			}
    			if (nmb == 0)
    			{
    				printf("必须包含数字\n");
    				continue;
    			}
    			if (zf == 0)
    			{
    				printf("必须包含@/#/$特殊字符\n");
    				continue;
    			}
    			printf("密码符合要求\n");
    			break;
    		}
    	}
    	
    	return 0;
    }
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试
  • ¥20 问题请教!vue项目关于Nginx配置nonce安全策略的问题
  • ¥15 教务系统账号被盗号如何追溯设备
  • ¥20 delta降尺度方法,未来数据怎么降尺度
  • ¥15 c# 使用NPOI快速将datatable数据导入excel中指定sheet,要求快速高效
  • ¥15 再不同版本的系统上,TCP传输速度不一致
  • ¥15 高德地图2.0 版本点聚合中Marker的位置无法实时更新,如何解决呢?
  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题