取水鸡数 1到6
#include <stdioh>
#include <stdlibh>
#include <mathh>
#include <timeh>
void main()
{
int i,j,y[10];
int m=2; // 如果是 2 粒骰子 (你可以改1,2,3,4,5,6。。。10)
srand((unsigned)time(NULL));
for (j=0;j<10;j++){ // 掷 10 次
for (i=0;i<m;i++){
y[i] = rand() % 6+ 1;
printf("%d ",y[i]);
}
printf("\n");
}
}
#include <stdioh>
#include <stdlibh>
#include<timeh>
#define bool int
#define FALSE 0
#define TRUE 1
int roll_dice();
void if_again(int,int);
void new_deal(int,int,int);
bool play_game();
int main()
{
play_game();
return 0;
}
int roll_dice()
{
int a=0,b=0;
srand((unsigned)time(NULL));
a=rand()%6+1;
// printf("\n a is :%d",a);
b=rand()%6+1;
//printf("\n b is :%d\n",b);
return a+b;
}
void if_again(int win,int lose)
{
printf("\nPlay again ");
char ch='a';
scanf("%c",&ch);
if(ch=='y')
{
system("cls");
play_game();
}
if(ch=='n')
{
printf("\nWins: %d\tLosess: %d",win,lose);
return;
}
}
void new_deal(int result,int win,int lose)
{
int once_again;
once_again= roll_dice();
printf("You rolled: %d\n",once_again);
if( once_again==result )
{
printf("You win!\n");
win++;
if_again(win,lose);
}
else
{
once_again=roll_dice();
printf("You rolled: %d\n ",once_again);
if(once_again==7)
{
printf("You lose!\n");
lose++;
if_again(win,lose);
}else
new_deal(result,win,lose);
}
}
bool play_game()
{
int result,win=0,lose=0;
result=roll_dice();
printf("You rolled: %d\n",result);
if(result==7||result==11)
{
printf("You win!");
win++;
if_again(win,lose);
printf("\n");
}
else if(result==2||result==3||result==12)
{
printf("You lose!");
lose++;
if_again(win,lose);
printf("\n");
}
else
{
new_deal(result,win,lose);
}
return 0;
}
#include<stdioh>
#include<mathh>
#include<timeh>
#define LOOP_TIMES 1000//实验次数
int project(int n)
{
int times=0,sum=0,i;
srand(time(NULL)nn10678);
do
{
times++;
sum+=rand()%6+1;
} while(sum%5) ;
return times;
}
int main()
{
int sum=0,i;
float av;
for(i=1;i<=LOOP_TIMES;i++)
{
sum+=project(i);
}
av=(float)sum/i;
printf("%2f",av);
return 0;
}
当实验次数大于1000时,结果还是比较稳定的。
#include<stdioh>
#include<stdlibh>
#include<timeh>
int main()
{int i,x,a[6]={0};
srand((unsigned int)time(NULL));
for(i=0;i<10000;i++)
{
x=rand()%6;
a[x]++;
}
printf("投掷10000次\n");
for(i=0;i<6;i++)
printf("%d点出现:%d\n",i+1,a[i]);
return 0;
}
Random random = new Random(); //实例化Random
int[] sum =new int[100]; //声明一个整型数组int number;
for (int i = 0; i < 100; i++)
{
number=raNext(1, 7); //产生1到6的随机数 sum[i]=number;
ConsoleWriteLine("第" +( i+1) + "次掷骰子:" + number);
} int a1=0;int a2=0;int a3=0;int a4=0;int a5=0;int a6=0;for (int j = 0; j < 100; j++)
{ switch(sum[j]) { case 1: a1++; break; case 2: a2++; break; case 3: a3++; break; case 4: a4++; break; case 5: a5++; break; case 6: a6++; break; }
}ConsoleWriteLine("数字1出现的次数为":+ a1);ConsoleWriteLine("数字2出现的次数为":+ a2);ConsoleWriteLine("数字3出现的次数为":+ a3);ConsoleWriteLine("数字4出现的次数为":+ a4);ConsoleWriteLine("数字5出现的次数为":+ a5);ConsoleWriteLine("数字6出现的次数为":+ a6);
以上就是关于求c语言代码关于“掷骰子”的 急求!!!!全部的内容,包括:求c语言代码关于“掷骰子”的 急求!!!!、C语言编写程序,模拟掷(两个)骰子的游戏。求解、连续投掷一枚均匀骰子,直到和是5的倍数结束。平均期望投掷次数是多少精确到小数点后两位。用C语言编等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)