gpt4 book ai didi

c - 如何计算C中数字的位数?

转载 作者:太空宇宙 更新时间:2023-11-04 00:44:35 24 4
gpt4 key购买 nike

我一直在尝试解决这个说要计算数字的总位数的问题,我的代码部分有效。它在第一次尝试时效果很好,但在第二次尝试中,计数与之前的计数相加。请帮忙。

#include<stdio.h>
int main()
{
int num,x,i,n,count=0;
scanf("%d",&n);

for(i=1;i<=n;i++)
{
scanf("%d",&num);
while(num!=0)
{
count++;
num=num/10;
}
printf("%d\n",count);
}
return 0;
}

最佳答案

您的代码有两个问题:

  • 它从不重置计数,并且
  • 它没有正确处理零,说 0 有零位

第一个问题的原因之一是您没有限制变量的范围,而是预先声明所有变量。相反,你应该在需要它们的最严格的范围内声明它们:i 应该在循环头中声明,而 count 应该在 for 中声明和初始化 循环。

就处理零而言,添加一个特殊情况,在输入零时打印 1,或者切换到 do/while 循环.

关于c - 如何计算C中数字的位数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48060182/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com