请设计 一个密码生成器,要求随机生成4组10位密码(C语言)

请设计 一个密码生成器,要求随机生成4组10位密码(密码只能由字母和数字组成),每一组必须包含至少一个大写字母,每组密码不能相同,输出生成的密码.

#include<stdio.h>
#include<time.h>
#include<stdlib.h>

int getchar();
void test(int array[]);

int main(){
    
    int data[4][10];
    
    for(int i = 0;i < 4;i++){
        
        for(int j = 0;j < 10;j++){
            
            if(j == 9){
                
                test(data[i]);
                
            }else{
                
                data[i][j] = getchar();
            }
        }
    }
    
    for(int i = 0;i < 4;i++){
        
        for(int j = 0;j < 10;j++){
            
            printf("%c ",data[i][j]);
        }
        printf(" ");
    }
    
    return 0;
}

void test(int array[]){
    
    int state = 0;
    
    for(int i = 0;i < 9;i++){
        
        if(array[i] >=5 && array[i] <= 90){
            
            state = 1;
        }
    }
    
    if(state){
        
        array[9] = getchar();
        
    }else{
        
        array[9] =  rand()%26 + 65;
    }
}

int getchar(){
    
    int model;
    int sign;
    model = rand()%3;
    
    if(model == 0){
        
        sign = rand()%10;
        sign = sign + 48;
        
    }else if(model == 1){
        
        sign = rand()%26;
        sign = sign + 65;
        
    }else{
        
        sign = rand()%26;
        sign = sign + 97;
    }
    
    return sign;
}

原文地址:https://www.cnblogs.com/viplanyue/p/12700552.html