qzy475739546 2023-03-14 10:22 采纳率: 87.5%
浏览 22
已结题

关于#c语言#的问题:求一个由1和0组成的正整数中包含1的个数

求一个由1和0组成的正整数中包含1的个数

#include<stdio.h>
#include<math.h>
int main(void)
{
  int a,i,j,digit,count,m;
  count=0;
  scanf("%d",&a);
  for (i=0;j!=0;i++)
  {j=a/pow(10,i);
    digit=i;
    }
    printf("%d\n",digit);
  for(m=digit;m!=0;m--)
  {
      if(a/pow(10,m-1)==1)
       {
        count++;
      a=a-pow(10,m-1);
        }
      else
      {a=a;
      }
  }
  printf("%d",count);
  }

输出一直是0,为什么呢

  • 写回答

5条回答 默认 最新

  • 快乐鹦鹉 2023-03-14 10:31
    关注

    for (i=0;j!=0;i++)
    j你都没初始化啊。
    给你改个简单版本:

    include <stdio.h>
    int main()
    {
        int n,count = 0;
        scanf("%d",&n);
        while(n>0)
        {
            if(n%10==1)
                count++;
            n=n/10;
        }
        printf("%d",count);
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(4条)

报告相同问题?

问题事件

  • 系统已结题 3月22日
  • 已采纳回答 3月14日
  • 创建了问题 3月14日