编写一个计算“投掷一枚均匀硬币100次”概率的c语言小程序,哪里都有错误?

哪位大神帮我修改一下
# include <stdio.h>
# include <stdlib.h>
main(){
int N,i,j,z,a,b,c;
double randf;
N=100;
a=0;
arand((unsigned)time(NULL));
for (i=0 ; i<N ; i++)
{
z=0 ;
for (j=1 ; j<=2 ; j++)
{
randf=rand()/(double)RAND-MAX;
if(randf<0.5) z++;
}
if( z==0) a++;
else if (z==1) b++;
else c++;
}
printf("%d,%d.%d,a,b,c);
}

--------------------Configuration: 投掷一枚均匀硬币100次 - Win32 Debug--------------------
Compiling...
概率.cpp
z:\msdev98\myprojects\投掷一枚均匀硬币100次\概率.cpp(8) : error C2065: 'arand' : undeclared identifier
z:\msdev98\myprojects\投掷一枚均匀硬币100次\概率.cpp(8) : error C2065: 'time' : undeclared identifier
z:\msdev98\myprojects\投掷一枚均匀硬币100次\概率.cpp(14) : error C2065: 'RAND' : undeclared identifier
z:\msdev98\myprojects\投掷一枚均匀硬币100次\概率.cpp(14) : error C2065: 'MAX' : undeclared identifier
z:\msdev98\myprojects\投掷一枚均匀硬币100次\概率.cpp(21) : error C2001: newline in constant
z:\msdev98\myprojects\投掷一枚均匀硬币100次\概率.cpp(22) : error C2143: syntax error : missing ')' before '}'
z:\msdev98\myprojects\投掷一枚均匀硬币100次\概率.cpp(22) : error C2143: syntax error : missing ';' before '}'
z:\msdev98\myprojects\投掷一枚均匀硬币100次\概率.cpp(22) : warning C4508: 'main' : function should return a value; 'void' return type assumed
执行 cl.exe 时出错.

投掷一枚均匀硬币100次.exe - 1 error(s), 0 warning(s)

第1个回答  2014-05-16
# include <stdio.h>
#include<time.h>
# include <stdlib.h>
main(){
int N,i,j,z,a,b,c;
double randf;
N=100;
a=0,b=0,c=0;
srand((unsigned)time(NULL));
for (i=0 ; i<N ; i++)
{
z=0 ;
for (j=1 ; j<=2 ; j++)
{
randf=rand()/(double)RAND_MAX;
if(randf<0.5) z++;
}
int stdio=1;
if( z==0) a++;
else if (z==1) b++;
else c++;
}
printf("%d,%d.%d",a,b,c);
}

在上面那位的基础上,给a,b,c赋初值0.否则会出错的。
另外,这程序是不是连续扔两枚硬币100次,计算正面零次朝上,一次朝上,两次朝上的次数?本回答被提问者采纳
第2个回答  2014-05-16

增加头文件

#include<time.h>

# include <stdio.h>
#include<time.h>
# include <stdlib.h>
main(){
int N,i,j,z,a,b,c;
double randf;
N=100;
a=0;
srand((unsigned)time(NULL));
for (i=0 ; i<N ; i++)
{
z=0 ;
for (j=1 ; j<=2 ; j++)
{
randf=rand()/(double)RAND_MAX;
if(randf<0.5) z++;
}
int stdio=1;
if( z==0) a++;
else if (z==1) b++;
else c++;
}
printf("%d,%d.%d",a,b,c);
}