rand()函数生成随机数问题
程序存在bug,输入循环次数后只有当计算结错误时,下一次随机的数字才符合范围要求。#include <stdio.h>
#include <stdlib.h>
#include<time.h>
/* 该程序要求实现一个循环n次计算的游戏,n由键盘输入,每次随机产生两个100以内的数字,让用户计算并输入结果,计算正确加一分,错误不加分,正确率大于80%则闯关成功 */
int main()
{
int i,j,n,x,y,ans,res;
j=0;
printf("请输入游戏次数:");
scanf("%d",&n);
while(i<n)
{
x=rand()%100+1;//0-100之间的随机数
y=rand()%100+1;
printf("%d+%d=",x,y);
scanf("%d",&ans);
res=x+y;
if(ans==res)
{
j=j+1;
printf("%d",j);
}
if (j/n>8/10)
{
printf("闯关成功!");
}
i=i+1;
}
return 0;
} 没有初始化随机种子 wp231957 发表于 2020-4-5 20:39
没有初始化随机种子
你的意思是在随机数赋值语句的前面加上srand(time(NULL));语句吗?我加了以后还是同样的问题。
页:
[1]