免费观看又色又爽又黄的小说免费_美女福利视频国产片_亚洲欧美精品_美国一级大黄大色毛片

c語言中的隨機函數例題 c語言中的隨機函數例題解析

C語言的題,求助:利用隨機函數rand()計算圓周率近似值。

(1)設定要求運算的次數N

成都創新互聯公司是一家專注于成都做網站、成都網站制作、成都外貿網站建設與策劃設計,寶應網站建設哪家好?成都創新互聯公司做網站,專注于網站建設十年,網設計領域的專業建站公司;建站業務涵蓋:寶應等地區。寶應做網站價格咨詢:18980820575

(2)用隨機函數得到在區間[-1,1]內的隨機數,分別賦值給X,Y,計錄滿足X*X+Y*Y=1點的個數K,4K/N即為所求的派。

#includestdio.h

#includewindows.h

#include"time.h"

double AverageRandom(double min,double max)

{

int minInteger = (int)(min*10000);

int maxInteger = (int)(max*10000);

int randInteger = rand()*rand();

int diffInteger = maxInteger - minInteger;

int resultInteger = randInteger % diffInteger + minInteger;

return resultInteger/10000.0;

}

void main( )

{

int i, n,k=0;

double x,y,z;

srand((unsigned)time( NULL ));

printf("請輸入運算的次數:\n");

scanf("%d",n);

for( i= 1;i =n; i++)

{

x= AverageRandom(-1,1);

y=AverageRandom(-1,1);

if( x*x+y*y=1) k++;

}

z=4*(double)k/(double)n;

printf("%f",z);

}

參考答案:

c語言隨機生成10到加減法題 用rand函數?

先用srand函數設置隨機數種子,再用rand函數取兩個隨機數作為運算數字,而運算符只有+和-,那么用rand()%2來得到0~1的隨機數來決定運算符號。

下面演示代碼,隨機生成10道加減題,輸入回答,判斷正確性。

#includestdio.h

#includestdlib.h

#includetime.h

#define M 10//題目數量

int main(void)

{

int n=M,num1,num2,s,y,a;

srand(time(NULL));

while(n--)

{

? y=rand()%2;

? num1=rand();

? num2=rand();

? if(y)

? ? ? printf("問題%d:%d+%d=",M-n,num1,num2),s=num1+num2;

? else

? ? ? printf("問題%d:%d-%d=",M-n,num1,num2),s=num1-num2;

? scanf("%d",a);

? if(a==s)printf("回答正確!\n\n");

? else printf("回答錯誤!正確答案:%d\n\n",s);

}

return 0;

}

C語言編程考試題 用隨機函數產生并輸出20個[10,99]的隨機整數,輸出其中大于這20個數的平均值的數。

#includestdio.h

#includestdlib.h

#includetime.h

int main(void)

{

srand(time(0));

int i=0; //用于下面的循環

int a[20]={0}; //用于存儲產生的20個隨機數。

double ave=0; //用于求20個隨機數的和,為了求他們的平均數。

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

{

a[i]=rand()%90+10; //rand()%90產生0-89的隨機數,加上10后就是10-99的隨機數。

ave=ave+a[i];

printf("第%d個隨機數是:\n",i+1,a[i]);

}

ave=ave/20;

for(i =0;i=19;i++) //打印大于平均數值的隨機數;

{

if(a[i]ave)

{

printf("第%d個隨機數等于%lf大于平均數%lf\n",i+1,a[i],ave)

}

}

return 0;

}

結果:

第1個隨機數是:34

第2個隨機數是:32

第3個隨機數是:86

第4個隨機數是:20

第5個隨機數是:86

第6個隨機數是:43

第7個隨機數是:26

第8個隨機數是:65

第9個隨機數是:98

第10個隨機數是:57

第11個隨機數是:98

第12個隨機數是:59

第13個隨機數是:72

第14個隨機數是:27

第15個隨機數是:25

第16個隨機數是:55

第17個隨機數是:53

第18個隨機數是:83

第。。。。。。。。

C語言 隨機函數

i++;是i=i+1;的縮寫,c++之所以后面有++,就是因為有這樣的縮寫。

rand()是個函數,每次調用會給你返回一個unsigned int數,即無符號整數,具體這個函數可以百度百科rand(),返回的數用偽隨機算法,在你看起來是隨機變化的,范圍在0~4294967295之間

%是c++的整數運算符,如果寫a%b就是求a除以b以后的余數

rand()生成的數大于0~100之間的范圍,rand()%100就會生成在0~99之間的隨機整數

由于題目要求生成1~100之間的整數,所以用表達式rand()%100+1

如果想生成[0~3000)的隨機數可以用表達式rand()%3000

如果想生成[a,b]范圍的隨機數,可以用表達式rand()%(b-a+1)+a來生成

比如要生成10~20之間的隨機數,包含10和20在內,那么表達式是rand()%(20-10+1)+10

幫忙用C語言解決下隨機函數的編程題

完整版純C程序:

#includestdio.h

#includestdlib.h

#includetime.h

#define N 20

void sel_sort(int [],int); //選擇排序

int search(int [],int,int); //查找

void insert(int [],int [],int,int); //插入

int num_by_mechine(void) //產生隨機數

main()

{

int a[N],x;

int i,index,b[N+1];

srand(time(NULL)); //為隨機數發生器rand()播種

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

a[i]=num_by_mechine();

printf("before sel_sort...\n");

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

printf("%4d",a[i]);

printf("\n");

sel_sort(a,N);

printf("after sel_sort...\n");

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

printf("%4d",a[i]);

printf("\n");

printf("please input x:");

scanf("%d",x);

index=search(a,x,N);

if(index!=-1)

{

printf("find x,x=a[%d]!\n",index);

printf("delete a[%d]...\n",index);

for(i=index+1;iN;i++)

a[i-1]=a[i];

for(i=0;iN-1;i++)

printf("%4d",a[i]);

}

else

{

printf("no find!\n");

printf("after insert...\n");

insert(a,b,x,N);

for(i=0;iN+1;i++)

printf("%4d",b[i]);

}

}

int num_by_mechine(void)

{

return(rand()%100+1); //產生一個分布在1~100之間的隨機整數

}

void sel_sort(int a[],int n)

{

int cur,i,t;

for(cur=0;curn-1;cur++)

for(i=cur;in;i++)

if(a[i]a[cur])

t=a[cur],a[cur]=a[i],a[i]=t;

}

int search(int a[],int x,int n)

{

int front=0,back=n-1,middle;

while(front=back)

{

middle=(front+back)/2;

if(xa[middle])

back=middle-1;

else if(xa[middle])

front=middle+1;

else

return(middle);

}

return -1;

}

void insert(int a[],int b[],int x,int n)

{

int i,j;

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

b[i]=a[i];

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

if(a[i]x)

{ for(j=n;ji;j--)

b[j]=b[j-1];

b[i]=x;

return;

}

b[n]=x;

}

c語言問題 題目是利用隨機函數生成兩個10-200內的隨機數,并使程可以自動生成加法運算的題目

#include?stdio.h

#include?stdlib.h

#include?"time.h"

char?op(int?j)???//打印?+?-?*?/?符號?

{

switch(j)

{

case?1:?return?'+';

case?2:?return?'-';

case?3:?return?'*';

case?4:?return?'/';

}

}

int?result(int?a,?int?b,?int?operation)??//返回正確的結果?

{

switch(operation)

{

case?1:?return?a+b;

case?2:?return?a-b;

case?3:?return?a*b;

case?4:?return?a/b;

}

}

int?main(int?argc,?char?*argv[])?

{

srand((unsigned)time(0));??//初始化隨機種子?

int?a,b,sum,operation;//operation為操作符,1:+?2:-?3:*?4:/

int?i;

for(i=1;i=10;i++)?//循環為1到10題

{

int?wrong_count=0;???//錯誤次數

int?n;???????????//每題輸入的答案?

int?k;???????????//倍數,以便得到10-200之間的數

k=rand()%20+1;

a=(rand()%10+1)*k;???//隨機取得a?

b=(rand()%10+1)*k;???//隨機獲得b?

operation=rand()%4+1;?//隨機+-*/?

while(1)

{

system("cls");?//清屏

printf("第%d題:\n",i);

printf("%d?%c?%d?=?",a,op(operation),b);

fflush(stdin);?//清空輸入緩沖,防止上次的輸入被本次讀取

scanf("%d",n);

if(n==result(a,b,operation))

{

printf("\nRight");

_getch();??//按任意鍵斷續?

break;?//退出while循環,進行下一題

}

else

{

wrong_count++;

if(wrong_count=3)?//連錯3次,打印后退出?

{

printf("\nWrong!?You?have?tried?three?times!?Test?Over!");

return?0;

}

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

_getch();//按任意鍵再答一次?

continue;?//斷續while循環

}

}

}

return?0;

}

當前名稱:c語言中的隨機函數例題 c語言中的隨機函數例題解析
轉載來源:http://m.newbst.com/article24/hpohce.html

成都網站建設公司_創新互聯,為您提供商城網站網站制作定制開發服務器托管品牌網站設計網站營銷

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都網站建設