c语言 判断一个正整数的长度

如题所述

c语言中判断一个正整数的长度,可以采用下面的思路:

思将这个正整数与10整除,每除一次计数器+1,一直除到等于0为止。

参考代码如下:

#include<stdio.h>

main() {
int n,size=0;
printf("Please input a number[>0]:");
scanf("%d",&n);
while(n>0){
size++;
n/=10;
}
printf("%d",size);
}

执行效果如下:

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-04-17
#include<stdio.h>
int main()
{
 int n,length=0;
 printf("请输入一个整数:");
 scanf("%d",&n);
 if(n==0)
  printf("长度为%d\n",1);
 else{
  while(n)//当n不等于0时执行循环
  {
   n=n/10;//n的长度减去1
   length++;//length+1
  }
  printf("长度为%d\n",length);
 }
 return 0;
}

运行截图:

第2个回答  2017-07-10

有两种思路:

    用循环处理,设置一个计数器,初始为0,每次把该数/=10,如果结果仍然大于0,说明该数缩小10倍后仍然存在,即可以继续计算长度,此时计数器加一,直到除等10之后的结果为0,则计数器的值就是长度;

    把该数直接转换成字符串(调用系统函数),然后用字符串长度函数统计该数的长度。

第3个回答  2017-06-25
可以用sizeof进行计算
正整数在c语言中是属于int类型,你可以用sizeof对int进行计算
比如说输出
printf("%d",sizeof(int));
第4个回答  2017-08-16
int len( int n){ int d=1,k=0; while(n/d){d*=10;k++;} return k;}