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

发布网友 发布时间:2022-04-23 17:43

我来回答

4个回答

热心网友 时间:2023-10-11 13:08

获取输入数据比较简单,用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);
}

热心网友 时间:2023-10-11 13:09

已前都学过,格式都不太清楚了,我说下思路啊
比如输入一个数111,如果111大于0,则i 加1,用111除10,结果如果大于0,i加1,至到小于0就行了,最后i的值就是位数。

热心网友 时间:2023-10-11 13:09

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" );
}

热心网友 时间:2023-10-11 13:10

/*
版权所有 陈冠钢
用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);
}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com