二级c代码问题..有一个错误,实在找不到..

来源:百度知道 编辑:UC知道 时间:2024/06/19 12:34:25
#include<stdio.h>
#include<rndlib.h>
main()
{
int i,a,b,c,s=0;
rnd(-1);
for(i=0;i<=9;i++)
{
do {a=20+181*rnd(1);
b=2+8*rnd(1);}
while(a%b!=0);
printf("%d/%d=",a,b);
scanf("%d",&c);
if(a/b==c)
{
printf("right!\n");
s+=10;
}
else printf("error!\n");
}
printf("the result is%d\n",s);
}
这个..是生成随机数的头文件

问题出在那个do...while循环,由a=20+181*rnd(1);b=2+8*rnd(1);产生的a,b始终无法满足a%b!=0的条件,导致"死循环".你可以打开那个rndlib.h看看rnd()是怎么写的,看看该一下参数能不能行.

#include<rndlib.h>
这个头文件没见过··
MSDN也没查到··你确定这是个正确的头文件?

rndlib.h的问题

rnd VB里面的吧。。。