❶ 如何在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]='