日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
c語言中的cai隨機函數(shù) c語言隨機變量函數(shù)

c語言隨機數(shù)函數(shù)是什么?

C語言隨機函數(shù)主要用于實現(xiàn)一組隨機數(shù)的生成。

十多年的荔灣網(wǎng)站建設(shè)經(jīng)驗,針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時及時工作處理。營銷型網(wǎng)站建設(shè)的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整荔灣建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗。創(chuàng)新互聯(lián)從事“荔灣網(wǎng)站設(shè)計”,“荔灣網(wǎng)站推廣”以來,每個客戶項目都認(rèn)真落實執(zhí)行。

代碼示例如下:

#includestdio.h

#includestdlib.h

int main ()

{

int a;

a=rand()%4;

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

return 0;

}

C預(yù)先生成一組隨機數(shù),每次調(diào)用隨機函數(shù)時從指針?biāo)赶虻奈恢瞄_始取值,因此使用rand()重復(fù)運行程序產(chǎn)生的隨機數(shù)都是相同的,可以通過srand()函數(shù)來改變指針位置。

擴展資料:

C語言隨機函數(shù)指針位置

void srand( unsigned int seed )

改變隨機數(shù)表的指針位置(用seed變量控制)。一般配合time(NULL)使用,因為時間每時每刻都在改變,產(chǎn)生的seed值都不同。

基于毫秒級隨機數(shù)產(chǎn)生方法:

#includewindows.h

種子設(shè)為:srand(unsigned int seed);

srand(GetTickCount());

參考資料:百度百科-C語言隨機函數(shù)

C語言編CAI...要哭了,求大神指點!

這個題目還是不錯的,比較考程序流程和函數(shù)的使用,我寫了一個大概的樣子。你看看有沒有問題,有不懂的,請追問:

#include?stdio.h

#include?conio.h

#include?stdlib.h

#include?time.h

#include?math.h

typedef?struct?//?定義結(jié)構(gòu)體存儲隨機操作數(shù)

{

int?a;?

int?b;

}RandNum;?

//?獲得隨機操作數(shù)函數(shù)

RandNum?GetRandNums()

{

RandNum?rn?=?{0,?0};

rn.a?=?rand()%10?+?1;

rn.b?=?rand()%10?+?1;

return?rn;

}

//?獲得隨機操作符函數(shù)

int?GetOperator()

{

//srand((unsigned)time(NULL)?);?

return?rand()%4+1;

}

//?任務(wù)1

int?task1()

{?

RandNum?rn?=?GetRandNums();?//?獲得隨機操作數(shù)

int?a=rn.a,?b=rn.b;

int?ans?=?0;????//?用戶輸入的答案變量

printf("%d*%d=?\t",?rn.a,?rn.b);

scanf("%d",?ans);

if?(ans?==?a*b)

{

printf("Right!");

return?1;

}

else

{

printf("Wrong!Please?try?again.\n");

return?0;

}

}

//?任務(wù)2

int?task2()

{?

int?i;

for(i=0;?i3;?i++)

{

if(1?==?task1())??

break;???

}

if(i?==?3)

{

printf("Wrong!You?have?tried?three?times!Test?over!");

return?0;

}

else?

return?1;

}

//?任務(wù)3

int?task3()

{

int?i,?RightNum=0;

printf("\tYou?will?answer?10?problems.\n");

for(i=0;?i10;?i++)

{

printf("Problem?%d\t",?i+1);

if(1?==?task1())??

RightNum?+=?1;??

system("cls");

}

printf("Your?total?score?is:?%d\n",?RightNum*10);

printf("You?answer?accuracy?is:?%d%%\n",?RightNum*10);

return?0;

}

//?任務(wù)4

int?task4()

{

int?flag=0,?RightNum?=?0;

RandNum?rn?=?{0,?0};

float?a=rn.a,?b=rn.b;

int?op?=?0;?????//?操作符變量?1234?對應(yīng)于?+-*/

float?ans?=?0,?err?=?1;

printf("You?will?answer?10?problems.\n");

for(int?i=0;?i10;?i++)

{

rn?=?GetRandNums();??//?獲得新的隨機操作數(shù)

op?=?GetOperator();??//?獲得新的隨機操作服?

a?=?rn.a;

b?=?rn.b;

flag?=?0;????//?回答正確與否標(biāo)志位,初始化為0

switch?(op)

{

case?1:?????//?若為+

printf("%.0f+%.0f=?\t",?a,?b);

scanf("%f",?ans);

err?=?abs(ans?-?(a+b));

if(err?==?0?)

flag?=?1;

break;

case?2:?????//?若為-

printf("%.0f-%.0f=?\t",?a,?b);

scanf("%f",?ans);

err?=?abs(ans?-?(a-b));

if(err?==?0)

flag?=?1;

break;

case?3:?????//?若為*

printf("%.0f*%.0f=?\t",?a,?b);

scanf("%f",?ans);

err?=?abs(ans?-?(a*b));

if(err?==?0)

flag?=?1;

break;

case?4:?????//?若為/

printf("%.0f/%.0f=?\t",?a,?b);

scanf("%f",?ans);

err?=?abs(ans?-?(a/b));

if(err??1e-4)

flag?=?1;

break;

}

if(flag)????//?若回答正確

{

printf("\t\tRight!\n");

RightNum?+=?1;

}

else?

printf("\t\tWrong!\n");

}

printf("Your?total?score?is:%d",?RightNum*10);

return?RightNum*10;

}

//?任務(wù)5

int?task5()

{

int?accuracy?=?0,?i=0;?

while?(accuracy??75)

{

printf("This?is?your?%d?st?try:\n",?i+1);

accuracy?=?task4();

if(accuracy??75)

{

i++;

system("cls");

}

}

printf("\n\tGood!\n");

return?1;

}

//?對答案判別函數(shù)(任務(wù)6中用到),判別回答的精確度

//?答案誤差1e-2?為Right,1e-3為Good,1e-4為Excellent,1e-5為Perfect

int?judge(float?err)

{

int?option?=?0;

float?base?=?1e5;

for?(int?i=0;?i4;?i++)?//?判斷誤差級別

{

if?(err*base??1)

{

option?=?4-i;

break;

}

base?=?base?/?10;

}

switch?(option)

{

case?1:??????//?誤差級別1,?err1e-2

printf("\t\tRight!\n");

break;

case?2:??????//?誤差級別2,?err1e-3

printf("\t\tGood!\n");

break;

case?3:??????//?誤差級別3,?err1e-4

printf("\t\tExcellent!\n");

break;

case?4:??????//?誤差級別4,?err1e-5

printf("\t\tPerfect!!\n");

break;

default:?????//?若誤差級別不在范圍內(nèi),判為錯誤

printf("\t\tWrong!\n");

return?0;

break;

}

return?1;

}

//?任務(wù)6

int?task6()

{

int?flag=0,?RightNum?=?0;

RandNum?rn?=?{0,?0};

float?a=rn.a,?b=rn.b;

int?op?=?0;

float?ans?=?0,?err?=?1;

printf("You?will?answer?10?problems.\n");

for(int?i=0;?i10;?i++)

{

rn?=?GetRandNums();

op?=?GetOperator();

a?=?rn.a;

b?=?rn.b;

flag?=?0;

switch?(op)

{

case?1:?

printf("%.0f+%.0f=?\t",?a,?b);

scanf("%f",?ans);

err?=?abs(ans?-?(a+b));??//?獲得用戶的回答與答案的誤差

flag?=?judge(err);???

break;

case?2:

printf("%.0f-%.0f=?\t",?a,?b);

scanf("%f",?ans);

err?=?abs(ans?-?(a-b));

flag?=?judge(err);??

break;

case?3:

printf("%.0f*%.0f=?\t",?a,?b);

scanf("%f",?ans);

err?=?abs(ans?-?(a*b));

flag?=?judge(err);??

break;

case?4:

printf("%.0f/%.0f=?\t",?a,?b);

scanf("%f",?ans);

err?=?abs(ans?-?(a/b));

flag?=?judge(err);??

break;

}

if(flag)

{???

RightNum?+=?1;

}

}

printf("Your?total?score?is:%d",?RightNum*10);

return?RightNum*10;

}

//?主函數(shù)

int?main(void)

{

srand((unsigned)time(NULL)?);?

task6();

getch();

return?0;

}

C語言中產(chǎn)生隨機數(shù)的函數(shù)是什么?

c語言中產(chǎn)生隨機數(shù)的相關(guān)函數(shù)主要包括srand和rand函數(shù),兩者配合生成隨機數(shù)據(jù),測試代碼如下,

#includestdio.h

#include stdlib.h

#include time.h

void main()

{

int i=0,j=0;

int p[5][5]={0};

srand(time(NULL));

for(i=0;i5;i++)

for(j=0;j5;j++)

p[i][j]=rand()%100+1;//產(chǎn)生1-100的隨機數(shù)存入數(shù)組p中

printf("二維數(shù)組p為:\n");

for(i=0;i5;i++)

{

for(j=0;j5;j++)

printf("%d\t",p[i][j]);

printf("\n");

}

}

一般srand和rand配合使用產(chǎn)生偽隨機數(shù)序列。rand函數(shù)在產(chǎn)生隨機數(shù)前,需要系統(tǒng)提供的生成偽隨機數(shù)序列的種子,rand根據(jù)這個種子的值產(chǎn)生一系列隨機數(shù)。如果系統(tǒng)提供的種子沒有變化,每次調(diào)用rand函數(shù)生成的偽隨機數(shù)序列都是一樣的。srand(unsigned seed)通過參數(shù)seed改變系統(tǒng)提供的種子值,從而可以使得每次調(diào)用rand函數(shù)生成的偽隨機數(shù)序列不同,從而實現(xiàn)真正意義上的“隨機”。通常可以利用系統(tǒng)時間來改變系統(tǒng)的種子值,即srand(time(NULL)),可以為rand函數(shù)提供不同的種子值,進(jìn)而產(chǎn)生不同的隨機數(shù)序列。


當(dāng)前標(biāo)題:c語言中的cai隨機函數(shù) c語言隨機變量函數(shù)
分享路徑:http://www.dlmjj.cn/article/dodepoj.html