c语言随机抽取名源码
时间 : 2024-01-11 12:35:05声明: : 文章内容来自网络,不保证准确性,请自行甄别信息有效性

最佳答案
以下是一个用C语言编写的随机抽取名的源码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
char* names[] = {"张三", "李四", "王五", "赵六", "钱七", "孙八", "周九", "吴十"};
int num_names = sizeof(names) / sizeof(names[0]);
srand(time(0)); // 使用当前时间作为随机数种子
int random_index = rand() % num_names; // 生成0到num_names-1之间的随机数
char* random_name = names[random_index]; // 通过随机数索引到对应的名字
printf("随机抽取的名字是:%s\n", random_name);
return 0;
}
这段代码定义了一个`names`数组,里面包含了多个名字。然后通过使用`srand`函数将当前时间作为随机数种子,再使用`rand`函数生成一个0到`num_names-1`之间的随机数作为索引,最后通过这个索引从`names`数组中抽取出一个随机的名字,并输出到控制台上。
注意,为了确保随机性,代码中使用了`srand(time(0))`来设置随机数种子。并且在每次运行程序时,会根据当前时间生成不同的种子,从而获得不同的随机结果。
你可以根据需要扩展`names`数组,添加更多的名字,从而实现更丰富的随机抽取功能。
其他答案
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
// 设置种子,使随机数有更好的随机性
srand(time(NULL));
// 姓氏列表
char *last_names[] = {
"赵", "钱", "孙", "李", "周", "吴", "郑", "王", "冯", "陈", "褚", "卫", "蒋", "沈", "韩",
"杨", "朱", "秦", "尤", "许", "何", "吕", "施", "张", "孔", "曹", "严", "华", "金", "魏",
"陶", "姜", "戚", "谢", "邹", "喻", "柏", "水", "窦", "章", "云", "苏", "潘", "葛", "奚",
"范", "彭", "郎", "鲁", "韦", "昌", "马", "苗", "凤", "花", "方", "俞", "任", "袁", "柳",
"酆", "鲍", "史", "唐", "费", "廉", "岑", "薛", "雷", "贺", "倪", "汤", "滕", "殷", "罗",
"毕", "郝", "邬", "安", "常", "乐", "于", "时", "傅", "皮", "卞", "齐", "康", "伍", "余",
"元", "卜", "顾", "孟", "平", "黄", "和", "穆", "萧", "尹", "姚", "邵", "堪", "汪", "祁",
"毛", "禹", "狄", "米", "贝", "明", "臧", "计", "伏", "成", "戴", "谈", "宋", "茅", "庞",
"熊", "纪", "舒", "屈", "项", "祝", "董", "梁"
};
// 名字列表
char *first_names[] = {
"维", "国", "天", "英", "友", "东", "晨", "舒", "彤", "婷", "钰", "奕", "逸", "皓", "涛",
"渊", "可", "子", "洋", "凯", "源", "玮", "岳", "文", "博", "宇", "智", "鑫", "宏", "庆",
"建", "冠", "毅", "昊", "泽", "昕", "伟", "悦", "莹", "怡", "菲", "雯", "雨", "欣", "琪",
"芳", "娟", "洁", "颖", "晶", "希", "峰", "琳", "阳", "蓉", "斌", "帆", "凡", "轩", "佳",
"颂", "杰", "森", "月", "倩", "梦", "瑶", "茜", "嘉", "娜", "丽", "珊", "巍", "川", "雅",
"萌", "琦", "翔", "麟", "珍", "云", "正", "平", "泉", "立", "千", "万", "雪", "宁", "风",
"尧", "琴", "岚", "怀", "倚", "林", "玲", "贤", "亦", "羽", "炜", "凌", "媛", "胡", "素",
"宜", "君", "伯", "枫", "潇"
};
int num_of_names = sizeof(last_names) / sizeof(last_names[0]);
printf("随机生成的姓名源码:\n");
for (int i = 0; i < 10; i++) {
int last_index = rand() % num_of_names;
int first_index = rand() % num_of_names;
printf("%s%s\n", last_names[last_index], first_names[first_index]);
}
return 0;
}
这段代码使用了C语言来随机生成中文名字。首先定义了一个包含常见姓氏的字符串数组last_names和一个包含常见名字的字符串数组first_names。接着,在main函数中,通过调用srand函数设置随机数种子为当前时间,以保证每次运行程序时可以得到不同的结果。
然后,获取姓氏数组的长度,以便后续随机生成姓氏和名字。
接下来的循环代码中,通过rand函数和取模运算随机生成一个姓氏的索引和一个名字的索引。随机生成的索引将作为下标,从姓氏数组和名字数组中取出对应的字符串,然后使用printf函数打印出完整的姓名。
最后,程序执行结束,返回0。
运行该程序,将会随机生成10个姓名。每次运行结果都会不同,使得每次调用该程序可以得到不同的随机姓名。
上一篇
起名系统源码是什么
下一篇
宝宝取名网站源码推荐
https/SSL证书广告优选IDC>>
推荐主题模板更多>>
推荐文章