qq631399016 发表于 2019-11-19 20:15:04

这道c语言题难倒我了

设置用户账号和密码。要求密码中包含数字和字符,长度为6,输出时用*代替,两次输入相同时有效。

jackz007 发表于 2019-11-19 21:28:08

#include <stdio.h>
#include <string.h>
#include <conio.h>

char * getpwd(char * s)
{
      char c                                                                            ;
      int i , j , k                                                                     ;
      for(i = 0 , j = 0 , k = 0 ; ! i || ! j ;) {
                printf("请输入密码 : ")                                                   ;
                while(k < 6) {
                        c = getch()                                                       ;
                        if((c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z') || c >= '0' && c <= '9') {
                              if((c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z')) i ++ ;
                              else j ++                                                 ;
                              putchar('*')                                              ;
                              s = c                                             ;
                        }
                }
                printf("\n")                                                            ;
                if(! i || ! j) {
                        i = 0                                                             ;
                        j = 0                                                             ;
                        k = 0                                                             ;
                        printf("抱歉,密码必须包含数字和字母,请重新输入。\n")            ;
                } else {
                        s = '\0'                                                       ;
                }
      }
      return s                                                                        ;
}

int main(void)
{
      char pwd ;
      if(! strcmp(getpwd(pwd) , getpwd(pwd))) printf("密码正确\n")                ;
      else printf("密码错误。\n")                                                       ;
}
页: [1]
查看完整版本: 这道c语言题难倒我了