以下是一个简单的C语言程序,可以从姓列表中随机选择一个姓,然后根据输入的名字长度生成一个对应的名字。
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
char last_names[][10] = {"张", "王", "李", "赵", "钱", "孙", "周", "吴", "郑", "冯"};
int name_length;
printf("请输入名字长度:");
scanf("%d", &name_length);
srand(time(NULL)); // 初始化随机数种子
char *random_last_name = last_names[rand() % 10]; // 随机选择一个姓
char first_name[10]; // 存储随机生成的名字
for (int i = 0; i < name_length; i++) {
first_name[i] = 'a' + rand() % 26; // 随机生成字母
}
first_name[name_length] = '\0'; // 添加字符串结束符
printf("随机姓名为:%s%s\n", random_last_name, first_name);
return 0;
}
在上面的代码中,我们首先定义了一个包含10个常见姓氏的字符串数组last_names
,然后通过scanf
函数获取用户输入的名字长度。接着,我们使用srand
函数初始化随机数种子,并使用rand
函数从last_names
数组中随机选择一个姓氏。接下来,我们使用循环随机生成名字中的每个字母,并使用sprintf
函数将生成的姓氏和名字拼接在一起,最后输出结果。