用c语言生成input.ifo文件(文件格式可以是文本文件,也可以是二进制文件),包含30个人名字(字符串:自己名字+随机编号,要求名字不同,随机编号用随机数生成,并保证不同)
时间: 2024-02-11 21:04:28 浏览: 110
DVD文件结构解析
好的,以下是使用C语言实现生成 `input.info` 文件的程序,文件格式为文本文件,包含30个人名字。
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>
#define MAX_NAME_LEN 20
// 姓名列表
char* names[] = {"张三", "李四", "王五", "赵六", "钱七", "孙八", "周九", "吴十", "郑十一", "王十二", "刘十三", "陈十四", "杨十五", "黄十六", "林十七", "高十八", "谢十九", "马二十", "罗二十一", "梁二十二", "郭二十三", "宋二十四", "曹二十五", "朱二十六", "何二十七", "苏二十八", "魏二十九", "沈三十", "吕三十一", "张三十二"};
// 随机数生成器
int random_int(int min, int max) {
return rand() % (max - min + 1) + min;
}
int main() {
srand(time(NULL)); // 初始化随机数生成器
FILE* fp = fopen("input.info", "w");
if (!fp) {
printf("Failed to open file\n");
exit(1);
}
// 生成30个人名字
char name[MAX_NAME_LEN];
for (int i = 0; i < 30; i++) {
int name_idx = i % sizeof(names) / sizeof(names[0]); // 选择一个姓名
sprintf(name, "%s%d", names[name_idx], random_int(1, 100)); // 生成姓名+随机编号
fprintf(fp, "%s\n", name); // 写入文件
}
fclose(fp);
return 0;
}
```
该程序会生成一个 `input.info` 文件,包含30个人名字,每个名字格式为 姓名 + 随机数,例如:
```
张三42
李四81
王五77
赵六12
钱七94
孙八42
周九91
吴十64
郑十一70
王十二97
刘十三8
陈十四56
杨十五95
黄十六87
林十七31
高十八87
谢十九45
马二十32
罗二十一62
梁二十二52
郭二十三57
宋二十四54
曹二十五5
朱二十六64
何二十七54
苏二十八39
魏二十九96
沈三十52
吕三十一90
张三十二69
```
阅读全文