50次投币编程

来源:百度知道 编辑:UC知道 时间:2024/05/26 16:16:51
设共投币50次,求“两个币同面”“两个币不同面”2种情况个出现多少次

1.(这种好理解)
#include<stdio.h>
#include<math.h>
void main()
{
int i,a,b,m=0,n=0,h=0;
int rand();
clrscr();
for(i=1;i<=1000;i++)
{a=rand();
b=rand();
if(a%2==0&&b%2==0)
m++;
if(a%2==1&&b%2==1)
n++;
if(a%2==0&&b%2==1||a%2==1&&b%2==0)
h++;
}
if(m+n+h==1000)
printf("%d %d %d",m,n,h);
}
2.(这种简单)
#include <stdio.h>
#include <math.h>
void main()
{
int rand(),a[2][2]={0},b,c,i;
for(i=1;i<=100;i++)
{
b=rand()%2;
c=rand()%2;
a[b][c]++;
}
printf("%3d%3d%3d\n",a[0][0],a[0][1]+a[1][0],a[1][1]);
}