天啊,花了四个小时,就是编不正确,请高手相助啊
这是第一题:题目是随机模拟,一只狗随机地向前走两步或者向后走两步,当向前恰好走了10步时就能被主人抱回家,当出发后第一回到原地的时候,就在原地呆一晚上,总共500晚上,求狗能够被抱回家的概率。以下是我已经编好的源码,有很多问题:
请高手指点啊
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int dis(int);
void percentage(int,int);
int main()
{
int total=500;
int home;
home=dis(total);
percentage(total,home);
return 0;
}
int dis(int total)
{
int randvalue,home=0;
int distance=0;
int i=1;
for(i=1;i<=total;i++)
{
srand(time(NULL));
while(distance!=10&&distance!=0)
{
randvalue=1+(int)rand()%100;
if(randvalue<=50)
distance=distance+2;
else distance=distance-1;}
if(distance==10)
home=home+1;
else home=home;
}
return home;
}
void percentage(int a,int b)
{
float rate;
rate=b/a;
printf("the percentage is %f\n",rate);
return 0;
}