利用随机西数产生四个字符(字母和数宇)作为验证码,要求:至少有一个大写宇母、 一个数宇,不考虑顺序。编程输出这四个宇符。
时间: 2023-03-31 08:00:42 浏览: 135
我可以回答这个问题。以下是一个可能的解决方案:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
srand(time(NULL)); // 初始化随机数生成器
char code[4]; // 存储验证码的数组
int count_upper = ; // 大写字母计数器
int count_digit = ; // 数字计数器
// 生成随机字符,直到满足要求为止
while (count_upper < 1 || count_digit < 1) {
for (int i = ; i < 4; i++) {
int r = rand() % 36; // 生成 ~35 的随机数
if (r < 26) {
code[i] = 'A' + r; // 生成随机大写字母
count_upper++;
} else {
code[i] = '' + r - 26; // 生成随机数字
count_digit++;
}
}
}
// 输出验证码
printf("验证码:%c%c%c%c\n", code[], code[1], code[2], code[3]);
return ;
}
阅读全文