❶ 如何在c语言中实现随机选号
srand(time(null))
randomize(Num)
生成的是伪随机数,,种子不变时一直就是生成的一样的。。。如::第一次顺次生成。。1000000 100058
100698。。。。则第二次运行时还是这么生成的!
❷ c语言生成随机数
将srand( (unsigned)time( NULL ) );置于random函数之外,比方说置于main函数中
由于时间基本是一样的,所以得到的数字也相同
例如
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
int random()
{
int num;
num = rand()%10;
printf("%d\n", num);
if(num==0)
num++;
return num;
}
void main( )
{
int i;
srand( (unsigned)time( NULL ) );
for(i=0;i<10;++i)
random();
}
❸ C语言 随机产生10个手机号,不能重复。输入英文名后绑定手机号,一个名字一个手机号
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
constintPHONE_LENGTH=11;
constchar*PREFIX="139";
typedefstruct{
intavailable;
charnumber[PHONE_LENGTH+1];
charowner_name[31];
}PhoneNumber;
voidphoneNumberGenerator(PhoneNumber*phones,intsize,constchar*prefix);
voiddisplayPhoneNumber(PhoneNumber*phones,intsize);
intmain(void)
{
chartname[31];
intid;
PhoneNumberphones[10];
phoneNumberGenerator(phones,10,PREFIX);
displayPhoneNumber(phones,10);
while(1)
{
puts("请输入您的姓名");
scanf("%s",tname);
puts("请输入您喜欢号码的编号");
scanf("%d",&id);
if(phones[id].available)
{
strcpy(phones[id].owner_name,tname);
phones[id].available=0;
displayPhoneNumber(phones,10);
}else
{
puts("此号已被占用,请选择其他的号码");
}}return0;
}
voidphoneNumberGenerator(PhoneNumber*phones,intsize,constchar*prefix)
{
intrepeat;//重复标志变量
for(inti=0;i<size;++i)
{
strncpy(phones[i].number,prefix,strlen(prefix));//复制号码前缀
phones[i].available=1;//初始化号码为可用
strcpy(phones[i].owner_name,"unknow");//初始化号码的拥有着为"unknow"//开始产生号码
do{
repeat=0;
/*******************产生一个随机号码******************/
for(intj=strlen(prefix);j<PHONE_LENGTH;++j)
{
(phones[i].number)[j]=rand()%10+'0';
}
(phones[i].number)[PHONE_LENGTH]='