c语言随机抽取名源码
时间 : 2024-01-11 12:35:05声明: : 文章内容来自网络,不保证准确性,请自行甄别信息有效性
CMS版本:最低V 5.21
主题价格:1599.00元
发布日期:2023-12-13 23:46:41
下载安装:进入下载
下载次数:265 次
授权方式:顶级域名授权,无限开二级域名
说明: 1、可以更换域名, 一年不超过两次。
    2、模板包含整站源码,使用者不得建立非法网站。
    3、客服在线解答问题,永久免费更新升级。
    4、系统源码永久开源,模板永久开源,方便自定义修改。

最佳答案

以下是一个用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个姓名。每次运行结果都会不同,使得每次调用该程序可以得到不同的随机姓名。