定义的个int型的l和double型的k;到了执行到一句
l=pow(10,k);
时就出问题了,试过k=1,k=3等其他数,l没问题,就是当k=2时,l本来应该是100的,可是变成99了。
怎么也想不明白,望高手指教!
#include
#include
int main()
{
int a,b,c,d,l;double k;
while(scanf("%d%d%lf",&a,&b,&k)&&(a!=0||b!=0))
{
if(a>=0&&a=0&&b0&&k<9)
{l=pow(10,k);
c=a%l;d=b%l;
if(c==d)printf("-1\n");
else printf("%d\n",a+b);
}
}
return 0;
}
这是我的代码
k的值是我也试过用int型的,不过还是不行
用的编译器是Dev-c++
|