这是我的程序
#define _CRT_SECURE_NO_WARNINGS
#include<stdlib.h>
#include<stdio.h>
#include<string.h>
#include<time.h>
//字母
char w[5] = {'A','B','C','D','E'};
//年份
// 20200 306
// 20200 106
int baseY = 20200; //前部分相同
int maxY = 306; // 306-106=200 rand()%200+106 106-306
int minY = 106;
//序号
int mimN = 1;
int maxN = 999;
//随机生成一个字母
char randomW() {
return w[rand() % 5];
}
//随机生成一个年份
int randomY() {
return rand() % 200 + 106;
}
//随机生成一个序号
int randomN() {
return rand() % 1000;
}
char id[12];//体会一下堆内存和占内存的区别
//随机生成一个ID 长度固定是12位 A 2019 2020 001
char* randID() {
id[0] = randomW();
//bask 20200
id[1] = (char)2+48;
id[2] = (char)0 + 48;
id[3] = (char)2 + 48;
id[4] = (char)0 + 48;
id[5] = (char)0 + 48;
int y = randomY();
id[6] = (char)(y / 100 + 48);
id[7] = (char)(y / 10 % 10 + 48);
id[8] = (char)((y % 10) + 48);
int n = randomN();//106
id[9] = (char)(n / 100 + 48);
id[10] = (char)(n / 10 % 10 + 48);
id[11] = (char)((n % 10) + 48);
return id;
}
char* ans;//体会一下堆内存和占内存的区别
int main() {
srand((unsigned)time(NULL));//时间种子,用于生成随机数
for (int i = 0; i < 100; i++)
{
ans = randID();
printf("%s\n", ans);
}
int r = getchar();
return 0;
}
char id[12];//体会一下堆内存和占内存的区别 若放在函数randID里面使其成为局部变量 和
char* ans;//体会一下堆内存和占内存的区别 也放在函数里面,自私琢磨
烫烫烫烫等着你细细品味
本文介绍了一个使用C语言实现的随机ID生成器,该生成器能够生成包含字母和数字的12位固定长度ID,其中包含了年份和序号等信息。通过随机数生成算法,确保了每次生成的ID的独特性和随机性。
2432

被折叠的 条评论
为什么被折叠?



