这是一个简单的程序,它计算精确划分给定数字的个别数字的数量。
#include<stdio.h>
int main()
{
long long t, val, temp, count = 0, val1;
scanf("%lld", &t);
while (t--)
{
count = 0;
scanf("%lld", &val);
val1=val;
while(val1 != 0)
{
temp = val1 % 10;
val1 = val1 / 10.0 ;
if (val % temp == 0)
{
count++;
}
}
printf("%lld", count);
}
}
当输入为
时,它会抛出除零异常1
300
表示测试用例数为1,值为300。 但是在这里我将它除以常数10,那么为什么抛出那个例外。那么我现在该怎么做呢? *我甚至尝试过cpp并遇到同样的问题
答案 0 :(得分:6)
val%temp
如果temp
为0
(程序中似乎就是这种情况),则表示您正在调用未定义的行为。