<acronym id="xonnx"></acronym>
      <td id="xonnx"></td>
    1. <pre id="xonnx"></pre>

      1. 專注電子技術學習與研究
        當前位置:單片機教程網 >> 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];
        多謝老李的提醒,以后多向你學習

        關閉窗口

        相關文章

        欧美性色欧美精品视频,99热这里只有精品mp4,日韩高清亚洲日韩精品一区二区,2020国自产拍精品高潮