搞清楚这个问题有点困难,我有一堆 int 变量,它们生成 1-9 的随机数。我需要它们生成等于某个数字的正确数字,例如 30。
int numone = rand()%10;
int numtwo = rand()%10;
int numthree = rand()%10;
int numfour = rand()%10;
int finalsum;
do{
finalsum = numone + numtwo + numthree + numfour;
}while(finalsum !=30);
我不确定我是否以正确的方式处理这个问题,但是当我尝试编译上面的代码时,我什至没有得到一个数字,有时我会收到“超出时间限制”错误,也许它花费的时间太长。我还有其他方法可以做到这一点吗?
好吧,我希望您意识到,在 do while 循环中,您实际上并没有更改随机数的值。您所做的基本上是检查相同的条件finalsum = numone + numtwo + numthree + numfour;
如果不等于 30,则无限。你应该做的是:
int numone,numtwo,numthree,numfour,finalsum;
do{
numone=rand()%10;
numtwo=rand()%10;
numthree=rand()%10;
numfour=rand()%10;
finalsum = numone + numtwo + numthree + numfour;
}while(finalsum !=30);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)