编程题概率
A. c语言编程:模拟骰子的6000次投掷,编程统计并输出其6个面各自出现的概率。求各路高手帮忙,先谢过了
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
main()
{
intface;//储存每次色子的点数
introll;//投掷色子的次数(循环变量)
intfrequency[7]={0};//记录色子每个点数出现的次数
srand(time(NULL));//用系统时间来初始化系统随机数的种子值
//用循环产生6000次随机数,并记录每个点数出现的次数
for(roll=1;roll<=6000;roll++)
{
face=rand()%6+1;
frequency[face]++;
}
printf("%4s%17s ","Face","Frequency");
//输出每个点数出现的次数
for(face=1;face<=6;face++)
{
printf("%4d%17d ",face,frequency[face]);
}
system("pause");
}
B. c++概率编程问题,多个选一个
# include "iostream.h"
# include "stdlib.h"
void main()
{
int a[100]={0};//给定的数组a[100]
int b,c;
b=rand();//产生随机数
c=b%100;
if(a[c]==0)cout<<"a"<<endl;
if(a[c]==1)cout<<"b"<<endl;
if(a[c]==2)cout<<"c"<<endl;
//给定数组赋值为零回,输出结果答a
}
C. c++关于概率的编程问题
程序如下:
//测试软件:dev-c++
#include <iostream.h>
#include <iomanip.h>
#include <conio.h>
#define N 7
main(void)
{
enum color{red,yellow,blue,white,black};//五种颜色
enum color pri;
int n,loop,i,j,k;
char c;
n=0;
for(i=red;i<=black;i++) //算法开始
{
for(j=red;j<=black;j++)
{
if(i!=j)
{
for(k=red;k<=black;k++)
{
if((k!=i)&&(k!=j))
{
n=n+1;
cout<<setw(2)<<n;
for(loop=1;loop<=3;loop++)
{
switch(loop) //取值
{
case 1:pri=(enum color)i;
break;
case 2:pri=(enum color)j;
break;
case 3:pri=(enum color)k;
break;
default:break;
}
switch(pri) //输出球的颜色
{
case red:cout<<setw(N)<<"red";break;
case yellow:cout<<setw(N)<<"yellow";break;
case blue:cout<<setw(N)<<"blue";break;
case white:cout<<setw(N)<<"white";break;
case black:cout<<setw(N)<<"black";break;
default:break;
}
}
cout<<endl;
}
}
}
}
}
cout<<"total :"<<n<<endl; //输出总数
getch();
}