欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

C語言隨機函數

作者:劉蕊飛   來源:本站原創   點擊數:  更新時間:2014年03月02日   【字體:

1.srand((unsigned)time(NULL));

 

2.int radio =rand() % 5 + 1;//radio 為隨機 1~5的整數

 

 

 

系統隨機函數,必須包含兩個頭文件,stdio.h,stdlib.h,time.h,。上面兩行代碼必須一起用,第一行是清空隨機函數緩存。如果沒有第一句,則每次得到的隨機函數都是一樣的。

 

例如,我們需要一個5位數的隨機數,代碼如下:

 

#include<stdio.h>

 

#include<stdlib.h>

 

#include<time.h>

 

 

 

int main(){

 

       intradio=0;

 

       chara[5]={'\0'};

 

       inti=0;

 

 

 

       srand((unsigned)time(NULL));

 

       radio=rand()%5+1;

 

       for(i=0;i<5;i++)

 

       {

 

              a[i]="qwertyuiop"[rand()%10];

 

              printf("%c\n",a[i]);

 

       }

 

       printf("%d\n",radio);

 

}

 

 

 

一般登錄網站都必須輸入驗證碼,驗證碼只是隨機函數而已,比如說我們要得到一個5位數的字母數字組合的驗證碼;代碼如下:

 

#include<stdio.h>

 

#include<stdlib.h>

 

#include<time.h>

 

#include<string.h>

 

 

 

int main(){

 

       inti=0;

 

       charstr[10]="\0",str2[10]="\0";

 

      

 

       //驗證碼

 

       for(i=0;i<5;i++){

 

              srand((unsigned)time(NULL)+i); 

 

              str[i]="0123456789abcdefghihklmnopqrstuvwxyz"[rand()%36];

 

       }

 

       printf("驗證碼:%s",str);

 

       printf("\n");

 

       printf("輸入驗證碼:");

 

       fgets(str2,10,stdin);

 

       str2[strlen(str2)-1]='\0';

 

       if(strcmp(str,str2)!=0){

 

              printf("驗證碼輸入錯誤\n");

 

              return1;

 

       }

 

else

 

       printf("驗證碼輸入正確\n");

 

}

 

 

 

str[i]="0123456789abcdefghihklmnopqrstuvwxyz"[rand()%36];

 

這行代碼,雙引號里面的數字大小寫字母隨便寫,’%’后面的數字通常和前面的個數對應,也可以小于前面的個數,比如說就是n,那這樣只有前n個字符有效,隨機字符也會從前n個中輸出。
更正:驗證碼一般不使用0,o,1,l,2,z,這六個字符,所以應該是 str[i]="3456789abcdefghihkmnpqrstuvwxy"[rand()%30];
多謝老李的提醒,以后多向你學習

關閉窗口

相關文章