随机数产生器

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define LOCAL
int n=40000,m=100000;
double random()
{
return (double)rand()/RAND_MAX;
}
int random(int m)
{
return (int)(random()*(m-1)+0.5);
}
int main(int argc, char *argv[])
{
#ifdef LOCAL
freopen("data.in","w",stdout);
#endif
srand(time(NULL));
printf("%d  %d\n",n,m);
for(int i=0;i<m;i++)
{
if(rand()%2==0)printf("A");else printf("B");
int X,Y;
for(;;)
{
X=random(n)+1;
Y=random(n)+1;
if(X!=Y) break;
}
printf("  %d  %d\n",X,Y);
}
return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用C标准库中的rand()函数来生成随机数,但是需要先调用srand()函数来设置随机数生成的初始种子。以下是一个示例代码,产生10个员工信息的随机数: ```c #include <stdio.h> #include <stdlib.h> #include <time.h> struct Employee { int id; char name[20]; char sex; char born[20]; char edu[20]; char job[20]; char tel[20]; char addr[50]; }; int main() { srand(time(NULL)); // 设置随机数生成的初始种子 int num = 10; struct Employee employees[num]; for (int i = 0; i < num; i++) { employees[i].id = rand() % 1000000; // 生成6位员工编号 sprintf(employees[i].name, "员工%d", employees[i].id); // 姓名为“员工+编号” employees[i].sex = rand() % 2 == 0 ? 'M' : 'F'; // 随机生成性别 sprintf(employees[i].born, "19%d年%d月%d日", rand() % 100, rand() % 12 + 1, rand() % 28 + 1); // 随机生成出生年月 sprintf(employees[i].edu, "学历%d", rand() % 6 + 1); // 随机生成学历 sprintf(employees[i].job, "职务%d", rand() % 6 + 1); // 随机生成职务 sprintf(employees[i].tel, "1%d", rand() % 900000000 + 100000000); // 随机生成11位电话号码 sprintf(employees[i].addr, "地址%d", rand() % 1000 + 1); // 随机生成地址 } // 输出员工信息 for (int i = 0; i < num; i++) { printf("编号:%d\n姓名:%s\n性别:%c\n出生年月:%s\n学历:%s\n职务:%s\n电话:%s\n地址:%s\n\n", employees[i].id, employees[i].name, employees[i].sex, employees[i].born, employees[i].edu, employees[i].job, employees[i].tel, employees[i].addr); } return 0; } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值