Li-xy 2021-11-09 19:23 采纳率: 97.3%
浏览 15
已结题

最令人头大的答案错误,我连负数都考虑了

#include<stdio.h>
#include<math.h>
int main()
{
int a,k,i,b=0;
scanf("%d",&a);
a=fabs(a);

if(a==0)
    b=1;
k=log10(a)+1;
for(i=1;i<=k;i++){
    if(a%10==0){
    a=a/10;
    b++;}


    else
      a=a/10  ;

}
printf("%d\n",b);
return 0;

}

img

  • 写回答

1条回答 默认 最新

  • 从善若水 优质创作者: 信息安全技术领域 2021-11-09 19:31
    关注
    
    #include<stdio.h>
    #include<math.h>
    int main()
    {
        int a,k,i,b=0;
        scanf("%d",&a);
        a=fabs(a);
    
        if(a==0)
            ++b;
        while(a){
            if(a%10==0){
                ++b;
            }
            a/=10;
        }
    
    
        printf("%d\n",b);
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 11月14日
  • 已采纳回答 11月14日
  • 创建了问题 11月9日