01
要求
首位不为0、10位数组来存放、数组转整型并输出到控制台
02
程序
/*
在调用rand()函数产生随机数前,必须先利用srand()设好随机数种子,
srand(time(NULL))则使用系统定时/计数器的值作为随机种子。
系统在调用rand()之前都会自动调用srand(),
如果用户在rand()之前曾调用过srand()指定了一个值,
那么 rand()就会将其值作为产生伪随机数的初始值;
而如果用户在rand()前没有调用过srand(),
那么系统默认将1作为伪随机数的初始值。
如果给了一个定值,那么每次rand()产生的随机数序列都是一样的。
*/
#include <stdio.h>
#include <stdlib.h> //包括rand()、srand()、abs()等函数
#include <time.h>
void Random_Numbers (int *, int);//输出指定位数随机数
long long Array_To_Int(int *, int);//数组--整型
int main()
{
int a1[99] = {0};
long long num1 = 0;
Random_Numbers (a1, 10);
num1 = Array_To_Int( a1, 10);
printf ("您申请的QQ帐号为:%lld\n",num1);
return 0;
}
void Random_Numbers (int *array, int len)
{
int i = 0;
if ( len < 0 || NULL == array)
{
return ;
}
srand((unsigned int)time(NULL));
for (i = 0; i < len+1; ++i)
{
while (0 == i)
{
array[i] = rand()%9+1;//1-9共9个数字,从1开始。产生1-9间的整数。QQ首位不为0
++i;
continue;
}
array[i-1] = rand()%10;//随机产生1-10的数
}
}
long long Array_To_Int(int *array, int len)//数组--整型
{
int i = 0;
long long num = array[0];
if ( len < 0 || NULL == array)
{
return ;
}
for (i = 1; i < len; ++i)
{
num = 10 * num + array[i];
}
return num;
}
03
测试结果
您申请的QQ帐号为:6178703243