早教吧作业答案频道 -->其他-->
请看问题补充编写一个模拟两个人投掷骰子,比大小的的程序.具体要求如下:1)在VC++中建立一个工程;2)在程序开始的注释行中写上你自己的信息;3)生成1-6之间的一个随机数.为了
题目详情
请看问题补充
编写一个模拟两个人投掷骰子,比大小的的程序.
具体要求如下:
1) 在VC++中建立一个工程;
2) 在程序开始的注释行中写上你自己的信息;
3) 生成1-6之间的一个随机数.为了使随机数更随机,可以使用随机数初始化函数 srand()
模拟掷骰子的程序段参考如下:
printf("\n请掷骰子(按Enter键)");
getchar();
srand( (unsigned)time( NULL ) );
num1 = rand( ) % 6 + 1;
printf("\n您掷的骰子点数是 %d \n",num1);
为了使上面一段程序能够正常编译连接,在程序开始应该包含下面的头文件:
#include "stdlib.h"
#include "time.h"
4) 在程序编译正确后,要求在程序运行时提示您按 ENTER 键(模拟掷骰子).
在你按 ENTER 键后,生成第一个随机数,并进行显示;
之后提示你第二次掷骰子(按 ENTER 键),在你按ENTER 键后,生成第二个随机数,并进行显示.
可以利用 getchar() 函数等待按下 ENTER.注意在需要时使用函数 fflush(stdin) 清除键盘缓冲区.
5) 使用 if else 转移控制语句判断两次生成的随机数的大小,分别根据不同情况输出下面的语句之一:
"\nPlayer1 的点数大,Player1 胜出!\n"
"\nPlayer2 的点数大,Player2 胜出!\n"
"\nPlayer1 和 Player2 点数一样大,平局!\n"
编写一个有关概率统计实验的程序.
1) 编写一个掷 10000 次骰子的程序,分别统计在这10000 次的投掷中 1 点、2 点、3 点、4 点、5 点、6 点出现
的次数,计算出现的概率;
2) 统计在这 10000 次的投掷中,连续三次投掷,顺序出现 1、2、3 点的次数,计算出现的概率.
3) 掷骰子的模拟程序段可以参考本实验中的第 1 个程序;但要注意,随机数的初始化函数
srand( (unsigned)time( NULL ) );
只能在程序运行时(循环体外)执行 1 次,否则会产生错误的结果;
4) 需要定义 7 个整型变量,分别对投掷后出现的不同点数进行计数.其中,前面6 个变量分别存储出现1 点、2
点、3 点、4 点、5 点、6 点的次数,最后1 个变量存储顺序出现 1、2、3 点的次数;
5) 需要定义 7 个浮点变量,分别存储在不同情况下的概率;
6) 程序输出为:各个点数出现的次数、以及各个点数出现的概率;
注:生成1-6之间的一个随机数.为了使随机数更随机,可以使用随机数初始化函数 srand()
模拟掷骰子的程序段参考如下:
printf("\n请掷骰子(按Enter键)");
getchar();
srand( (unsigned)time( NULL ) ); //本语句在程序中只能运行一次(代码需在循环体外)
num1 = rand( ) % 6 + 1;
printf("\n您掷的骰子点数是 %d \n",num1);
为了使上面一段程序能够正常编译连接,在程序开始应该包含下面的头文件:
#include "stdlib.h"
#include "time.h"
编写一个模拟两个人投掷骰子,比大小的的程序.
具体要求如下:
1) 在VC++中建立一个工程;
2) 在程序开始的注释行中写上你自己的信息;
3) 生成1-6之间的一个随机数.为了使随机数更随机,可以使用随机数初始化函数 srand()
模拟掷骰子的程序段参考如下:
printf("\n请掷骰子(按Enter键)");
getchar();
srand( (unsigned)time( NULL ) );
num1 = rand( ) % 6 + 1;
printf("\n您掷的骰子点数是 %d \n",num1);
为了使上面一段程序能够正常编译连接,在程序开始应该包含下面的头文件:
#include "stdlib.h"
#include "time.h"
4) 在程序编译正确后,要求在程序运行时提示您按 ENTER 键(模拟掷骰子).
在你按 ENTER 键后,生成第一个随机数,并进行显示;
之后提示你第二次掷骰子(按 ENTER 键),在你按ENTER 键后,生成第二个随机数,并进行显示.
可以利用 getchar() 函数等待按下 ENTER.注意在需要时使用函数 fflush(stdin) 清除键盘缓冲区.
5) 使用 if else 转移控制语句判断两次生成的随机数的大小,分别根据不同情况输出下面的语句之一:
"\nPlayer1 的点数大,Player1 胜出!\n"
"\nPlayer2 的点数大,Player2 胜出!\n"
"\nPlayer1 和 Player2 点数一样大,平局!\n"
编写一个有关概率统计实验的程序.
1) 编写一个掷 10000 次骰子的程序,分别统计在这10000 次的投掷中 1 点、2 点、3 点、4 点、5 点、6 点出现
的次数,计算出现的概率;
2) 统计在这 10000 次的投掷中,连续三次投掷,顺序出现 1、2、3 点的次数,计算出现的概率.
3) 掷骰子的模拟程序段可以参考本实验中的第 1 个程序;但要注意,随机数的初始化函数
srand( (unsigned)time( NULL ) );
只能在程序运行时(循环体外)执行 1 次,否则会产生错误的结果;
4) 需要定义 7 个整型变量,分别对投掷后出现的不同点数进行计数.其中,前面6 个变量分别存储出现1 点、2
点、3 点、4 点、5 点、6 点的次数,最后1 个变量存储顺序出现 1、2、3 点的次数;
5) 需要定义 7 个浮点变量,分别存储在不同情况下的概率;
6) 程序输出为:各个点数出现的次数、以及各个点数出现的概率;
注:生成1-6之间的一个随机数.为了使随机数更随机,可以使用随机数初始化函数 srand()
模拟掷骰子的程序段参考如下:
printf("\n请掷骰子(按Enter键)");
getchar();
srand( (unsigned)time( NULL ) ); //本语句在程序中只能运行一次(代码需在循环体外)
num1 = rand( ) % 6 + 1;
printf("\n您掷的骰子点数是 %d \n",num1);
为了使上面一段程序能够正常编译连接,在程序开始应该包含下面的头文件:
#include "stdlib.h"
#include "time.h"
▼优质解答
答案和解析
#include "stdlib.h"
#include "time.h"
int main() {
int num1, num2;
srand((unsigned int )time(NULL));
printf("\n请掷骰子(按Enter键)");
getchar();
num1 = rand( ) % 6 + 1;
printf("\n您掷的骰子点数是 %d \n",num1);
fflush(stdin);
printf("\n请再掷一次骰子(按Enter键)");
getchar();
num2 = rand( ) % 6 + 1;
printf("\n您掷的骰子点数是 %d \n",num2);
if(num1 > num2) {
printf("\nPlayer1 的点数大,Player1 胜出!\n");
} else if(num1 == num2) {
printf("\nPlayer1 和 Player2 点数一样大,平局!\n");
} else {
printf("\nPlayer2 的点数大,Player2 胜出!\n");
}
}
#include "stdlib.h"
#include "time.h"
int main() {
// 分别表示1,2,3,4,5,6点数出现的次数
int one=0, two=0, three=0, four=0, five=0, six=0;
// 表示连续出现1,2,3的次数
int n = 0;
// 分别表示1,2,3,4,5,6点数出现的次数的概率
float one_f, two_f, three_f, four_f, five_f, six_f;
int i, temp, j = 1;
srand((unsigned int)time(NULL));
for(i=0; i<10000; i++) {
temp = rand() % 6 + 1;
switch(temp) {
case 1:
one++;
break;
case 2:
two++;
break;
case 3:
three++;
break;
case 4:
four++;
break;
case 5:
five++;
break;
case 6:
six++;
break;
}
if(temp == j) {
j++;
if(j == 4) {
n++;
j = 1;
}
} else {
j = 1;
}
}
printf("1:%d\n2:%d\n3:%d\n4:%d\n5:%d\n6:%d\n", one, two, three, four, five, six);
printf("连续出现 1, 2, 3的次数是:%d\n", n);
one_f = one*1.0/10000;
two_f = two*1.0/10000;
three_f = three*1.0/10000;
four_f = four*1.0/10000;
five_f = five*1.0/10000;
six_f = six*1.0/10000;
printf("1出现的概率是%.3f\n2出现的概率是%.3f\n3出现的概率是%.3f\n4出现的概率是%.3f\n5出现的概率是%.3f\n6出现的概率是%.3f\n",
one_f, two_f, three_f, four_f, five_f, six_f);
}
第一个程序:
#include "stdio.h"#include "stdlib.h"
#include "time.h"
int main() {
int num1, num2;
srand((unsigned int )time(NULL));
printf("\n请掷骰子(按Enter键)");
getchar();
num1 = rand( ) % 6 + 1;
printf("\n您掷的骰子点数是 %d \n",num1);
fflush(stdin);
printf("\n请再掷一次骰子(按Enter键)");
getchar();
num2 = rand( ) % 6 + 1;
printf("\n您掷的骰子点数是 %d \n",num2);
if(num1 > num2) {
printf("\nPlayer1 的点数大,Player1 胜出!\n");
} else if(num1 == num2) {
printf("\nPlayer1 和 Player2 点数一样大,平局!\n");
} else {
printf("\nPlayer2 的点数大,Player2 胜出!\n");
}
}
第二个程序:
#include "stdlib.h"
#include "time.h"
int main() {
// 分别表示1,2,3,4,5,6点数出现的次数
int one=0, two=0, three=0, four=0, five=0, six=0;
// 表示连续出现1,2,3的次数
int n = 0;
// 分别表示1,2,3,4,5,6点数出现的次数的概率
float one_f, two_f, three_f, four_f, five_f, six_f;
int i, temp, j = 1;
srand((unsigned int)time(NULL));
for(i=0; i<10000; i++) {
temp = rand() % 6 + 1;
switch(temp) {
case 1:
one++;
break;
case 2:
two++;
break;
case 3:
three++;
break;
case 4:
four++;
break;
case 5:
five++;
break;
case 6:
six++;
break;
}
if(temp == j) {
j++;
if(j == 4) {
n++;
j = 1;
}
} else {
j = 1;
}
}
printf("1:%d\n2:%d\n3:%d\n4:%d\n5:%d\n6:%d\n", one, two, three, four, five, six);
printf("连续出现 1, 2, 3的次数是:%d\n", n);
one_f = one*1.0/10000;
two_f = two*1.0/10000;
three_f = three*1.0/10000;
four_f = four*1.0/10000;
five_f = five*1.0/10000;
six_f = six*1.0/10000;
printf("1出现的概率是%.3f\n2出现的概率是%.3f\n3出现的概率是%.3f\n4出现的概率是%.3f\n5出现的概率是%.3f\n6出现的概率是%.3f\n",
one_f, two_f, three_f, four_f, five_f, six_f);
}
看了 请看问题补充编写一个模拟两个...的网友还看了以下:
物理+斜面问题倾斜角与动摩擦因数关系物理斜面问题+物块与斜面的动摩擦因数与斜面倾斜角的关系? 2020-04-09 …
把下列各式分解因式,(1)a(x-y)-b(y-x)+c(x-y)(2)(x+y)��-14(x+ 2020-06-12 …
lgj115友情是数学题互相帮助+相互关怀+互相问候+相互祝福+真挚笑容+言自由衷+淡水之情+浓酒 2020-06-29 …
(2014•江阴市模拟)2007年上海国际汽车展期间,某公司对参观本次车展盛会的且有购车意向的消费 2020-07-16 …
概率论题.设随机变量X与Y相互独立,且X~(0,2),U(0,2),求E[(X+Y)^2].问下E 2020-07-22 …
(2011•鹤岗模拟)某城镇共有10万人,随机调查2500人,发现每天早上买“城市早报”这种报纸的人 2020-11-11 …
(2007•淮北模拟)2009年某市春季房交会期间,某公司对参加本次房交会的消费者进行了随机问卷调查 2020-11-11 …
一个概率问题在大学本科时候在将两个随机变量的加和求数学期望的时候直接给出了结论E(X+Y)=EX+E 2020-11-21 …
光合细菌有特殊本领,它利用剧毒H2S作还原剂,把CO2还原为有机物:6CO2+12H2SC6H12O 2020-12-31 …
Ⅰ.实验室常用加热氯化铵和熟石灰两种固体混合物来制取氨气,其反应的化学方程式:2NH4Cl+Ca(O 2021-01-13 …