有关pat浮点错误的问题

pat显示浮点错误,但我未检查出,烦请各位指教

#include
int main()
{
    int number,n,i,m;
    scanf("%d",&number);
    if(number<0)n=-number;
    else n=number;
    m=n;
    for(i=1;n>9;i*=10){
        n/=10;
    }
    if(number<0)
            printf("fu ");
    int count;    
    for(;m>=0;i/=10){
        count=m/i;
        switch(count){
        case 0: printf("ling");break;
        case 1: printf("yi");break;
        case 2: printf("er");break;
        case 3: printf("san");break;
        case 4: printf("si");break;
        case 5: printf("wu");break;
        case 6: printf("liu");break;
        case 7: printf("qi");break;
        case 8: printf("ba");break;
        case 9: printf("jiu");break;
        }
        if(m>9)
        printf(" ");
        m%=i;
    }    
}


15行的 i /= 10 有可能出现 i = 0 的情况,然后16行的 count = m / i 就会出错,除数为0会抛出浮点数例外的错误。

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^