查出问题后就可以着手解决了。以我的经验,解决有两种方法(其他旅键高手如有更好的方法,欢迎赐教),一是在每一次浮点运算时都进行检查(分母是否为0,对数的真数是否小于或等于0,根号下的数字是否小于0等等),出现后就给出一个错误提示,拆启巧不要再执行了。过去我在DOS下就是这么办的。现在好一些,可以用异常机制进行处理(如果你的编译器支持异常的话)。
分枯罩类: 电脑/网络 >>程序设计 >>其他编程乎游语言解析:
divide是除数运算呀!除数为0了
你看看你的程序里有没用除数运算呀!除数不能为0
不过也有很多没有用除数运算的也会出现
#include <iostream.h>岁败销
#include <stdlib.h>
rand_data(int i,int j, int x,int y)
{
if((i+j+x+y)==24)
{
cout<<"a+b+c+d=24"
return 1
}
if(((i+j)/x)*y==24)
{
cout<<"((a+b)/c)*d=24"
return 1
}
if(i*j-x-y==24)
{
cout<<"a*b-c-d=24"
return 1
}
return -1
}
void main()
{
int a,b,c,d,i
while(1)
{
srand(time(0))
a=rand()%10
b=rand()%10
c=rand()%10
d=rand()%10
i=rand_data(a,b,c,d)
if(i==1)
break
}
}
你分析下看哪里的问题呀
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)