1、產生多個亂數
程式例題~G:\我的雲端硬碟\c語言練習題\亂數例題\1產生多個亂數.cpp
//取 1-10 的亂數 a=(rand() % 10) +1
//取 1-100 的亂數 a=(rand() % 100) +1
//取 100-1000 的亂數 a=(rand() % 901) +100
#include<stdio.h>
#include <stdlib.h>
#include <time.h>/* 亂數相關函數 */
int main(){
int i=0,rana=0,ranb=0;
for (i=1;i<=10;i++){
rana= rand(); /* 未用時間函數,每次產生亂數會相同 */
printf("rana%d=%d\t1~10亂數%d=%d\n",i,rana,i,rand()%10+1);
}
printf("\n");
srand( time(NULL) ); /* srand( time(0) )用時間函式設定亂數種子,每次亂數不同 */
for (i=1;i<=10;i++){
ranb= rand(); /* 未用時間函數,每次產生亂數會相同 */
printf("ranb%d=%d\t1~10亂數%d=%d\n",i,ranb,i,rand()%100+1);
}
}
測試結果~
rana1=41 1~10亂數1=8
rana2=6334 1~10亂數2=1
rana3=19169 1~10亂數3=5
rana4=11478 1~10亂數4=9
rana5=26962 1~10亂數5=5
rana6=5705 1~10亂數6=6
rana7=23281 1~10亂數7=8
rana8=9961 1~10亂數8=2
rana9=2995 1~10亂數9=3
rana10=4827 1~10亂數10=7
ranb1=4268 1~10亂數1=17
ranb2=23352 1~10亂數2=51
ranb3=12026 1~10亂數3=80
ranb4=10023 1~10亂數4=4
ranb5=6184 1~10亂數5=85
ranb6=30327 1~10亂數6=36
ranb7=23878 1~10亂數7=74
ranb8=31578 1~10亂數8=78
ranb9=8132 1~10亂數9=45
ranb10=11613 1~10亂數10=26
第二次測試結果~
rana1=41 1~10亂數1=8
rana2=6334 1~10亂數2=1
rana3=19169 1~10亂數3=5
rana4=11478 1~10亂數4=9
rana5=26962 1~10亂數5=5
rana6=5705 1~10亂數6=6
rana7=23281 1~10亂數7=8
rana8=9961 1~10亂數8=2
rana9=2995 1~10亂數9=3
rana10=4827 1~10亂數10=7
ranb1=4448 1~10亂數1=55
ranb2=22841 1~10亂數2=45
ranb3=22272 1~10亂數3=74
ranb4=17368 1~10亂數4=44
ranb5=29586 1~10亂數5=89
ranb6=22192 1~10亂數6=58
ranb7=29100 1~10亂數7=86
ranb8=6963 1~10亂數8=1
ranb9=8561 1~10亂數9=24
ranb10=13999 1~10亂數10=31
2、猜1-100數字
程式例題~G:\我的雲端硬碟\c語言練習題\亂數例題\2猜數字亂數1-100.cpp
//產生亂數1-100為答案,再猜出亂數
#include<stdio.h>
#include<time.h>
#include <stdlib.h>
int main(){
int gusq=0,ans=0;
srand(time(0)); // srand(time(NULL));產生亂數
ans=rand()%100+1; printf("ans=%d\n",ans); //產生1~100的亂數
while (gusq != ans){
printf("請猜一個1~100內的整數=");
scanf("%d",&gusq);
if (gusq>ans){
printf("猜小一點\n");
}
else if (gusq<ans){
printf("猜大一點\n");
}
else {
printf("答對嘍\n");
}
}
}
測試結果~
ans=35
請猜一個1~100內的整數=65
猜小一點
請猜一個1~100內的整數=32
猜大一點
請猜一個1~100內的整數=38
猜小一點
請猜一個1~100內的整數=36
猜小一點
請猜一個1~100內的整數=34
猜大一點
請猜一個1~100內的整數=35
答對嘍
3、計算多次丟骰子,骰子6個數字出現的次數
程式例題~G:\我的雲端硬碟\c語言練習題\亂數例題\3骰字1-6出現的次數.cpp.cpp
//計算多次丟骰子,骰子6個數字出現的次數
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(){
srand(time(0));
int arn[6]={0};//要初值,以免有暫存值
int i=0,dicn=0,j=0,count=0,sum=0;
printf("要丟幾次骰子=");
scanf("%d",&count);
for (i=0;i<count;i++){
dicn=rand()%6+1; //printf("%d\n",dicn);
for (j=1;j<=6;j++){
if (dicn==j){
arn[j-1]++;
}
}
}
for (i=0;i<6;i++){
printf("骰子出現%d的次數=arn[%d]=%d\n",i+1,i,arn[i]);
sum=sum+arn[i];
}
printf("總次數=%d=%d",count,sum);
printf("\n");
}
測試結果~
要丟幾次骰子=100
骰子出現1的次數=arn[0]=17
骰子出現2的次數=arn[1]=12
骰子出現3的次數=arn[2]=20
骰子出現4的次數=arn[3]=19
骰子出現5的次數=arn[4]=17
骰子出現6的次數=arn[5]=15
總次數=100=100
訂閱:
張貼留言 (Atom)
Chrome教學5-建立桌面捷徑1110217
建立桌面捷徑
-
教室佈置 1、創意相框 https://flipedu.parenting.com.tw/article/5229 2、教室佈置水族箱 https://flipedu.parenting.com.tw/article/6093?utm_source=Flipedu.Line&am...
-
1、指標宣告,是存變數的記憶體位置的變數 https://programming.im.ncnu.edu.tw/Chapter9.htm int b ; //跟記憶體要一塊區域稱為b,這塊區域專門放int型變數值 b = 2 ; //把2這個值...
-
「 Google 雲端硬碟檔案串流」消失~解決之道 http://clongwh.blogspot.com/2018/08/GoogleDriveFS.html
沒有留言:
張貼留言