在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;
}