用C语言编输入一个整数输出其位数

急切需要啊,请大家帮帮忙啊

获取输入数据比较简单,用scanf即可。
下面给两个判断整型数据位数的函数:
1.
直接求int类型数据位数:
int
getlength(const
int
tmp)
{
int
count=0;
while(
tmp/10
)
count++;
return
count;
}
2.
利用字符数组来变通的获取:
int
getlength(const
int
tmp)
{
char
str[16];
memset(str,
0,
sizeof(str));
sprintf(str,
"%d",
tmp);
return
strlen(str);
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2006-01-03
已前都学过,格式都不太清楚了,我说下思路啊
比如输入一个数111,如果111大于0,则i 加1,用111除10,结果如果大于0,i加1,至到小于0就行了,最后i的值就是位数。
第2个回答  2020-11-06

C语言经典例子之求解正整数位数

第3个回答  2006-01-08
int 类型所能容纳的数字位数不能超过 10。 我写的这个程序稍微长了点,
但不受 int 类型容量的限制,能够处理很长的整数输入(由 buffer 数组的大小决定)。

这程序只处理纯整数输入。 有疑问尽管问。
 
 
#include <ctype.h>
#include <stdio.h>

void main( ) {

    int  count = 0;
    char buffer[ 1001 ],
         *p = buffer,
         c;

    puts( "Enter an integer:" );
    gets( buffer );

    // Skip leading space.
    while( isspace( *p ) )
        p++;

    while( isdigit( c = *(p + count) ) )
        count++;

    // Ignore number with trailing non-space character.
    if( c != '\0' && ! isspace( c ) )
        count = 0;

    if( count > 0 )
        printf( "The number of digit(s) in your integer is %d.\n", count );
    else
        puts( "You didn't provide a valid integer.\n" );
}本回答被网友采纳
第4个回答  2006-01-04
/*
版权所有 陈冠钢
用C语言编输入一个整数输出其位数
*/

#include<stdio.h>

void main()
{
int number,sum=0;
printf("enter number:\n");
scanf("%d",&number);

while(number>0)
{
number/=10;
sum++;
}
printf("\n%d",sum);
}

用C语言编输入一个整数输出其位数
获取输入数据比较简单,用scanf即可。下面给两个判断整型数据位数的函数:1. 直接求int类型数据位数:int GetLength(const int tmp){ int count=0;while( tmp\/10 )count++;return count;} 2. 利用字符数组来变通的获取:int GetLength(const int tmp){ char str[16];memset(str, 0, sizeof(str...

如何用c语言实现输入一个整数然后输出
```c include int main() { int number; \/\/ 声明一个整型变量用于存储输入的整数 printf("请输入一个整数: "); \/\/ 提示用户输入 scanf("%d", &number); \/\/ 读取用户输入的整数并存储在变量number中 \/\/ 输出用户输入的整数 printf("您输入的整数是: %d\\n", number);return 0; \/\/ 程序...

c语言 输入一个整数 统计该整数的位数
include <stdio.h> main() { unsigned long num=0; int i=1,j=0; printf("请输入一个数:"); scanf("%d",&num); while((num\/i)>=1) { i=i*10; j++; } printf("该数为%d位数\\n",j); }有什么看不懂的问我,望采纳 ...

c语言编写程序,输入一个3位整数,打印输出其个位数、十位数和百位...
void main(void){ int n;printf("输入一个三位的正整数: ");scanf("%d",&n);if((n>999)||(n<100)){ printf("%d 不是一个三位数\\n",n);return;} printf("输入在数 %d,其个位是%d,十位是%d,百位是%d\\n",n,n%100,(n\/10)%10,n\/100);return ;} ...

c语言 输入一个整数 统计该整数的位数
include<stdio.h>void main(void){int num,digits=1;printf("Input a number: ");scanf("%d",&num);printf("Number %d has ",num);while(num\/=10)++digits;printf("%d digits.\\n",digits);return;}

C语言 编写一个程序,输入一个正整数,求出它是几位数。
依次把该整数n除以10,直到其为0为止,并且每除一次10,变量num的个数就自加1,最后num的值就是该整数n的位数。参考代码:#include <stdio.h>int main(){ int n,num=0;scanf("%d",&n);while(n){num++;n\/=10;}printf("%d\\n",num); return 0;}\/*输出:1234566*\/ ...

c语言输入一个整数怎么分别输出它的每位上的数字
include<stdio.h>void main(){ int data; int temp; printf("请输入一个整数:"); scanf("%d", &data); \/\/ 接收用户输入的整数,并赋值给变量data printf("%d从最低位到最高位分别为:", data); while(data>0) \/\/ 当data=0或小于0时,退出循环,此时所以位数都...

C语言.输入一个整数,求出该整数的个位数。 源代码:
来个简单的,include <stdio.h>#include <stdlib.h>#include <limits.h>int main(int argc, char** argv) { int a; unsigned int digits = 1; printf("Input an integer :"); scanf("%d", &a); if (a < 0) a = (a == INT_MIN) ? INT_MAX : -a; while...

c语言怎么将输入一个数输出其位数
将它作为字符串读入,测长度即可。char s[80];scanf("%s",s);printf("%d",strlen(s));例如:输入 -123.987654321 输出 14 (含符号,小数点,数字)若要转 double a;可以用 sscanf(s,"%lf",&a);输出a:printf("%.9lf",a);

C语言 编写一个程序,输入一个正整数,求出它是几位数。
并初始化为0,依次把该整数n除以10,直到其为0为止,并且每除一次10,变量num的个数就自加1,最后num的值就是该整数n的位数。include <stdio.h> int main(){ int n,num=0;scanf("%d",&n);while(n){ num++;n\/=10;} printf("%d\\n",num);return 0;} \/ 输出:123456 6 \/ ...

相似回答