❶ 如何在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]='';
/************************检测重复性**************************/
for(intk=0;k<i;k++)
{
if(strcmp(phones[i].number,phones[k].number)==0)
{
repeat=1;
break;
}
}
}while(repeat);//如果当前产生的号码与之前的重复了,则再生成一个,直到不重复为止
}}
voiddisplayPhoneNumber(PhoneNumber*phones,intsize)
{
printf("%-5s%-20s%-10s%s ","编号","号码","状态","拥有者");
for(inti=0;i<size;++i)
{
printf("%-5d%-20s%-10s%s ",i,phones[i].number,phones[i].available?"可用":"已占用",phones[i].owner_name);
}
}
❹ C语言编写一个随机生成电话号码且按大小排序的程序
rand()函数应该知道吧,一般的排序算法:选择,冒泡什么的算法。回了就可以写了。先用
先定义一个数组,然后用rand()函数生成随机数给数组的每个元素赋值,然后排序。。。这样就完成了。。。希望楼主能够坚持,自己做出来的才是最有成就感的,可能实现的时候逻辑还是不清晰,代码也不是很漂亮,这都是一个必须经历的过程。我当初学语言的时候,也有过花几天写一个很简单的程序。。。由此喜欢编程。。。。不罗嗦了,楼主整理思路,继续调试吧。
❺ C语言中怎样生成随机数
C语言生成
随机数
的
函数
为rand。
1
声明:
int
rand(void);
2
头文件:
stdlib.h
3
功能:
获取一个非负随机
数值
。
4
注意事项:
a)
rand是
伪随机数
,由一个种子计算得来。
如果种子相同,每次启动
程序
,获取到的
随机序列
是固定的。
可以通过srand设置当前时间作为种子,使随机效果更好。
srand(time(NULL));
b)
要获取[m,n]范围的随机数,可以使用代码
rand()%(n-m+1)+m
❻ C语言怎么写随机抽取号码的Windows程序
把要的值,写到数组,,,,,,,然后另定义一个数组下标的数组,随机生成这个数组的值——不重复
~~~~~~
❼ 想在c语言中随机产生1或2该怎么做
int i = ++(rand()%2);
在文件头加上
include <stdlib.h>
代码解释如下:
首先是用随机数函数生成随机数,模2之后生成的随机数是0或者1,++操作之后就是1或者2了,希望对你有用,望采纳~
❽ c语言中如何产生1或0随机数
float b=rand()/(RAND_MAX+1.0);
printf("%f\n",b);
注释:
stdlib.h头文件中有宏#define RAND_MAX 0x7fff
rand()产生一个0到0x7ffff即0到32767之间的随机数
rand()/(RAND_MAX+1.0)就等于一个0到1之间的小数了,因为rand()最大是32767最小是0,再除以32768就是一个0到1之间的小数(不能等于1),再乘以10就是一个0到10之间的数了(不等于10).最后再加1,就成了一个求1到10之间随机数的式子了.
❾ C语言随机数序列编程:用C语言程序编写。生成随机数序列。范围:1-15要求生成1-15的随机序列,中间无重复
//希望您你有帮助!
#include <stdio.h>
#include <time.h>
int main()
{
int a[15] = {0};
int count = 0;
srand(time(NULL));
while ( 1 )
{
int r = rand()%15 + 1;
if (++a[r] > 1)
continue;
else
{
printf("%02d ", r);
if (count++ > 15)
break;
}
}
return 0;
}
运行结果:07 08 06 14 11 13 01 04 09 02 10 05 12 03
❿ c语言怎么生成随机数
你好!
#include<stdio.h>
#include<stdlib.h>//生成随机数用
#include<time.h>//利用时间生成种子
#include<math.h>
intmain()
{
inti;
inta[100];
srand(time(NULL));//生成种子
for(i=0;i<100;i++)
{
a[i]=rand()%1000+1000;//生成一个小于1000的随机数
//然后加1000,变成1000-2000之间的数
printf("%d",a[i]);//打印
}
i=rand()%100;//随机抽取其中的一个数
printf("
抽取到的是:%d
",a[i]);//打印
return0;
}