c语言密码注册规则编程

怎么编程序呀,不会。。。是利用数组吗???求指教... 怎么编程序呀,不会。。。是利用数组吗???求指教 展开
 我来答
10636852034f
推荐于2016-03-25 · TA获得超过1178个赞
知道小有建树答主
回答量:713
采纳率:86%
帮助的人:103万
展开全部
#include <stdio.h>

#include <string.h>

int Check(char*);
int CheckSpecial(char const);

void main(){
char szInput[51];
start:
  printf("Input Your Code(Less Then 50 Letters Numbers Or Symbol):\n");
  scanf("%s",szInput);
  if(strcmp(szInput,"END")==0){
    return;
  }

  if(Check(szInput)){
    printf("YES\n");
  }else{
    printf("NO\n");
  }
  goto start;
}

int Check(char *szInput){

  unsigned nFlag=0;
  unsigned int nIndex=0;
  int nFlagNum=0;
  for (;szInput[nIndex];nIndex+=1){
    if(szInput[nIndex]<='z'&&szInput[nIndex]>='a')
      nFlag|=0x01;
    if(szInput[nIndex]<='Z'&&szInput[nIndex]>='A')
      nFlag|=0x02;
    if(szInput[nIndex]<='9'&&szInput[nIndex]>='0')
      nFlag|=0x04;
    if(CheckSpecial(szInput[nIndex]))
      nFlag|=0x08;
  }
  if(nIndex<8)
  return 0;
  for (nIndex=1;nIndex<=0x08;nIndex<<=1){
    if(nIndex&nFlag){
      nFlagNum+=1;
    }
  }
  if(nFlagNum>=3)
    return 1;
  else
    return 0;
}

int CheckSpecial(char const cInput){
  static char const szSpecial[]="~!@#$%^&*()-=";
  int nIndex=0;
  for (;szSpecial[nIndex];nIndex+=1){
  if(cInput==szSpecial[nIndex])
    return 1;
  }
  return 0;
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
pcztk391
2014-05-18
知道答主
回答量:17
采纳率:0%
帮助的人:2.2万
展开全部
改变就这样吧!
简洁!

#包括中

国际主要()

{

整数A,B,C;

为(α= 0;一个<= 9,A + +)

为(B = 0,B <= 9; B + +)

为(C = 0,C < = 9,C + +)

的printf(“%D%D \ t”的,A,B,C);

#包括中

国际主要()

{

诠释三;

字符M,B;

为(M ='A',M> ='A'&&米<='Z'; M + +)

为(B ='A',B>; ='A'B <='Z',B + +)

为(C = 0,C <= 9; C + +)

的printf(“%C%C%D \ t%C%C%D \ t%D%C%C \ t%D%C%C \ t%C%D%C \ t%C%B%C \ N“,M,B,C,B,M,C,C, M,B,C,B,M,B,C,M,M,B,C);
你试试吧,这样做,每一次输出两者的结合。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式