C语言怎么产生0-100之间1个随机数

#include<stdlib.h>
#include<stdio.h>
#include <time.h>
void main()
{
int a,b,i;
b=rand()%100,
i=1;
printf("您将会获得一个0到100的随机数,看你是否能猜出她是什么\n只有20次机会,祝您好运!\n");
for(i=1;i<=20;)
{
printf("输入吧:\n");
scanf("%d",&a);
if(a<0||a>100)
{
printf("您猜了%d次\n",i);
printf("这个数字不对啊,要在0到100啊!\n机会少了一次哦!\n回车继续\n");i++;getchar();
}
else if(a==b)
{
printf("您猜了%d次\n",i);
printf("你很幸运啊,今天是你的幸运日!\n");getchar();break;
}
else if(a<b)
{
printf("您猜了%d次\n",i);
printf("您的数字有点小啊,再想想?\n继续请回车\n");i++;getchar();
}
else
{
printf("您猜了%d次\n",i);
printf("您的数字有点大啊,再想想?\n继续请回车\n");i++;getchar();
}
}

if(i>20)printf("这个数字是%d\n没关系,今天其他所有的事你都会很幸运的,不要在意哦!\n",b);
printf("谢谢您使用我编写的程序\n愿您每一天都有湛蓝的天空,明媚的日光\nEnjoy your days and your friends who're singing winth you.\n ");
}

不能随机 总是41

因为rand()产生的伪随机数
在b=rand()%100;前加一句srand(time(0)); 就好了
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-03-17
b=rand()%100
之前加上
time_t t;
srand((unsigned)time(&t)); //初始化随机种子
就可以了
第2个回答  2008-03-17
b=rand()%100
之前加上
time_t t;
srand((unsigned)time(&t)); //初始化随机种子
就可以了
相似回答