问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

在c语言中如何确定一个数据的位数

发布网友 发布时间:2022-04-24 02:15

我来回答

5个回答

热心网友 时间:2023-10-21 09:28

除位法

#include<stdio.h>
main()
{
    int n,k=0;
    scanf("%d",&n);
    while(n)
    {
        n/=10;
        k++;
    }
    printf("%d",k);
}

对数法

#include<stdio.h>
#include<math.h>
main()
{
    int n,k;
    scanf("%d",&n);
    k=log(n)/log(10)+1;
    printf("%d",k);
}

char型数组法

#include<stdio.h>
#include<math.h>
main()
{
    char n[100],k;
    gets(n);
    for(k=0;n[k];k++)
    ;
    printf("%d",k);
}

数组转换法

#include<stdio.h>
#include<string.h>
main()
{
    char str[20];
    int n;
    scanf("%d",&n);
    sprintf(str,"%d",n);
    printf("%d\n",strlen(str));
}

您好,很高兴为您解答,流星不死为您答疑解惑

如果本题还有不懂的地方请追问,望采纳我的回答。

祝楼主学习进步。

上面的代码可以直接复制到编译器里,带换行。

热心网友 时间:2023-10-21 09:28

除位法

#include<stdio.h>
main()
{
    int n,k=0;
    scanf("%d",&n);
    while(n)
    {
        n/=10;
        k++;
    }
    printf("%d",k);
}

对数法

#include<stdio.h>
#include<math.h>
main()
{
    int n,k;
    scanf("%d",&n);
    k=log(n)/log(10)+1;
    printf("%d",k);
}

char型数组法

#include<stdio.h>
#include<math.h>
main()
{
    char n[100],k;
    gets(n);
    for(k=0;n[k];k++)
    ;
    printf("%d",k);
}

数组转换法

#include<stdio.h>
#include<string.h>
main()
{
    char str[20];
    int n;
    scanf("%d",&n);
    sprintf(str,"%d",n);
    printf("%d\n",strlen(str));
}

您好,很高兴为您解答,流星不死为您答疑解惑

如果本题还有不懂的地方请追问,望采纳我的回答。

祝楼主学习进步。

上面的代码可以直接复制到编译器里,带换行。

热心网友 时间:2023-10-21 09:29

8个位一个字节,
一般32为机器中, int 为4 字节
int a;
int b= sizeof(a) b=4则32位, b=8 为64位

热心网友 时间:2023-10-21 09:29

你所得位数是指数据类型的位数吗?是指数据占几个字节吗?
可以用sizeof(数据类型);如n=sizeof(int);n就为4;
如果你问的不是这个意思,请追问,我会继续回答。

热心网友 时间:2023-10-21 09:30

如果是整型的话,就直接用这个数除以1,10,100,1000,10000,100000.。。就行啊,如果是一位数,除以1的结果会在1和9中间,如果是2位数,除以100的结果是1到9之间。。。。就这样判断,看什么时候的结果是1到9之间。。

热心网友 时间:2023-10-21 09:30

int GetDigitNumber(int N)
{
    int result = 0;
    while (N > 0)
    {
        result++;
        N /= 10;
    }
    
    return result;
}

热心网友 时间:2023-10-21 09:29

8个位一个字节,
一般32为机器中, int 为4 字节
int a;
int b= sizeof(a) b=4则32位, b=8 为64位

热心网友 时间:2023-10-21 09:29

你所得位数是指数据类型的位数吗?是指数据占几个字节吗?
可以用sizeof(数据类型);如n=sizeof(int);n就为4;
如果你问的不是这个意思,请追问,我会继续回答。

热心网友 时间:2023-10-21 09:30

如果是整型的话,就直接用这个数除以1,10,100,1000,10000,100000.。。就行啊,如果是一位数,除以1的结果会在1和9中间,如果是2位数,除以100的结果是1到9之间。。。。就这样判断,看什么时候的结果是1到9之间。。

热心网友 时间:2023-10-21 09:30

int GetDigitNumber(int N)
{
    int result = 0;
    while (N > 0)
    {
        result++;
        N /= 10;
    }
    
    return result;
}

热心网友 时间:2023-10-21 09:28

除位法

#include<stdio.h>
main()
{
    int n,k=0;
    scanf("%d",&n);
    while(n)
    {
        n/=10;
        k++;
    }
    printf("%d",k);
}

对数法

#include<stdio.h>
#include<math.h>
main()
{
    int n,k;
    scanf("%d",&n);
    k=log(n)/log(10)+1;
    printf("%d",k);
}

char型数组法

#include<stdio.h>
#include<math.h>
main()
{
    char n[100],k;
    gets(n);
    for(k=0;n[k];k++)
    ;
    printf("%d",k);
}

数组转换法

#include<stdio.h>
#include<string.h>
main()
{
    char str[20];
    int n;
    scanf("%d",&n);
    sprintf(str,"%d",n);
    printf("%d\n",strlen(str));
}

您好,很高兴为您解答,流星不死为您答疑解惑

如果本题还有不懂的地方请追问,望采纳我的回答。

祝楼主学习进步。

上面的代码可以直接复制到编译器里,带换行。

热心网友 时间:2023-10-21 09:29

8个位一个字节,
一般32为机器中, int 为4 字节
int a;
int b= sizeof(a) b=4则32位, b=8 为64位

热心网友 时间:2023-10-21 09:29

你所得位数是指数据类型的位数吗?是指数据占几个字节吗?
可以用sizeof(数据类型);如n=sizeof(int);n就为4;
如果你问的不是这个意思,请追问,我会继续回答。

热心网友 时间:2023-10-21 09:30

如果是整型的话,就直接用这个数除以1,10,100,1000,10000,100000.。。就行啊,如果是一位数,除以1的结果会在1和9中间,如果是2位数,除以100的结果是1到9之间。。。。就这样判断,看什么时候的结果是1到9之间。。

热心网友 时间:2023-10-21 09:30

int GetDigitNumber(int N)
{
    int result = 0;
    while (N > 0)
    {
        result++;
        N /= 10;
    }
    
    return result;
}

热心网友 时间:2023-10-21 09:28

除位法

#include<stdio.h>
main()
{
    int n,k=0;
    scanf("%d",&n);
    while(n)
    {
        n/=10;
        k++;
    }
    printf("%d",k);
}

对数法

#include<stdio.h>
#include<math.h>
main()
{
    int n,k;
    scanf("%d",&n);
    k=log(n)/log(10)+1;
    printf("%d",k);
}

char型数组法

#include<stdio.h>
#include<math.h>
main()
{
    char n[100],k;
    gets(n);
    for(k=0;n[k];k++)
    ;
    printf("%d",k);
}

数组转换法

#include<stdio.h>
#include<string.h>
main()
{
    char str[20];
    int n;
    scanf("%d",&n);
    sprintf(str,"%d",n);
    printf("%d\n",strlen(str));
}

您好,很高兴为您解答,流星不死为您答疑解惑

如果本题还有不懂的地方请追问,望采纳我的回答。

祝楼主学习进步。

上面的代码可以直接复制到编译器里,带换行。

热心网友 时间:2023-10-21 09:29

8个位一个字节,
一般32为机器中, int 为4 字节
int a;
int b= sizeof(a) b=4则32位, b=8 为64位

热心网友 时间:2023-10-21 09:29

你所得位数是指数据类型的位数吗?是指数据占几个字节吗?
可以用sizeof(数据类型);如n=sizeof(int);n就为4;
如果你问的不是这个意思,请追问,我会继续回答。

热心网友 时间:2023-10-21 09:30

如果是整型的话,就直接用这个数除以1,10,100,1000,10000,100000.。。就行啊,如果是一位数,除以1的结果会在1和9中间,如果是2位数,除以100的结果是1到9之间。。。。就这样判断,看什么时候的结果是1到9之间。。

热心网友 时间:2023-10-21 09:31

int GetDigitNumber(int N)
{
    int result = 0;
    while (N > 0)
    {
        result++;
        N /= 10;
    }
    
    return result;
}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
婴幼儿认知功能的主义转变出现在几岁 认知发展理论心理发展过程 如何判断相亲对象是否渣男呢? 游船怎么造句 mei字造句 赏阅怎么造句 张金战个人记事 空调扇怎么关 matlab怎么运行程序文件-matlab运行程序文件的方法教程 ios8.1.1怎么没有搜索栏了 C语言中,如何控制输出16进制数的位宽? 在c语言中个位数所占的字节和两位数所占的字节都是一样的吗? C语言中unsigned int 和unsigned long占的位数都是32位,他们之间有区别吗? 什么是C语言中的精度,与位数有什么差别 c语言里字节与位数的问题 c语言中,int和short int 的字节位数取值范围都完全相同。。那不是多余吗。。。还有 c语言中高位数,中位数,低位数的定义? c语言中,%4d是输出宽度为四,也就是说是四位数吗? c语言中32-bit是什么意思 c语言中的位宽包括负号吗 关于C语言的位宽? 上海青一块五一斤什么意思 微信用英语怎么说? 吃上海青有什么好处 微信群主 英语怎么说 油菜和上海青有什么区别? 你使用微信吗?用英语怎么说 佛教里的海清是代表什么意思 请问上海青有什么营养价值? 缩写英文 c语言中整数位数判断 C语言中如何判断一个数的位数? 苹果手机怎么清理微信内存空间 花是什么样子的 花是什么样的 花是怎样开花的 花的生长过程是怎样的? 花是怎样开花的(有中途顺序)? 花是怎样开花的? 花是怎样型成的 花是怎样传粉的? 花是怎样生长 千姿百态的鲜花是怎样形成的? 花是怎样死的呀? 花是怎样开的? 微信支付密码忘了,也没有绑定银行卡,怎么才能破解 夏天花是怎样的? 花朵是怎样生长的? 怎样描写花 微信零钱超出10万破解