C程式設計——模擬10位QQ賬號的生成
阿新 • • 發佈:2018-12-01
1、要求:
I、首位不為0
II、10位陣列來存放
III、陣列轉整型並輸出到控制檯
2、程式
/* 在呼叫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; }
3、測試結果
您申請的QQ帳號為:6178703243