c语言中的位数用什么函数 c语言中的位与

有没有大神能指点c语言如何用自定义函数求一个数的位数 谢谢大神#include stdio.h
int wei(int num)
{
int n=1;
while(num/10)
{
n;
num = num / 10;
}
return n;
}
int main()
{
int a=100,b=1000,c=10000;
printf("%d:%d\n%d:%d\n%d:%d\n",a,wei(a),b,wei(b),c,wei(c));
return 0;
}

C语言 判断一个数的位数代码如下:
#includestdio.h
int main()
{
int a,b;
int i;
printf("请输入一个数字:");
scanf("%d",a);
b=a;
for(i=0;a1;i)
{
a=a/10;
}
printf("%d是%d位数\n",b,i);
}
扩展资料:
思路详解:
在C语言中,经常会用到以整数相除来确定一个整形数字的每一位的具体数字是多少,同理,此处可用整数相除来判断一个数的位数 。
首先,使用scanf函数获取这个数字的值 , 且赋给变量b , 作一个备份 。
接着,确定核心思路为,当一个数整除10 , 第一次结果为1时,这个数是一个个位数 。因而,以其作为循环内的主体 。
得到了for(i=0;a1;i)a=a/10; 这样的代码,最后,输出结果即可 。
在C语言中如何输出数字的位数1. 使用itoa函数把数转换为字符串类型 , 在使用strlen函数统计字符串长度 。即数字的位数 。
2. 例程:
#include stdio.h
#include stdlib.h // itoa 要使用的头文件
#include string.h // strlen 要使用的头文件
void main()
{
int i, len;
char str[20];
scanf("%d", i);// 读入一个数字
itoa(i, str, 10); // 将该数字转换成字符串类型
len = strlen(str); /* 计算字符串的长度 [参数1:要转换的数 参数2:转换后存放到的位置 参数3:以十进制转换]*/
printf("IN Total: %d\n", len);
}
C语言编程 输入一个整数 , 输出整数的位数,用while函数/*简单一点,能看懂不?*/
#include
stdio.h
int
main()
{
int
i=0,n;
printf("输入整数:");
scanf("%d",n);
while(n!=0)
{
n=n/10;
i;
}
printf("是一个%d位的数\n",i);
return
0;
}
c语言调用函数求一个整数数的位数#includestdio.h
int count = 1;
int calc(int num){
while (1 == 1) {
count;
num /= 10;
if(num0){//小于0的数就变成正数
num *= -1;
}
if (num10) {
break;
}
}
return count;
}
void main(){
int num = 0;
printf("请输入一个数:");
scanf("%d",num)
printf("数字%d是一个%d位数!",num,calc(num));
}
C语言有没有函数可以求一个正整数的位数要现有函数现有函数是没有的
不过可以用现有函数组合 。
int num_len(int n)
{
char s[20];
sprintf(s, "%d",n);
return strlen(s);
}
更简单的是
【c语言中的位数用什么函数 c语言中的位与】(int)log10(n);
不过 这个效率略低一些 。
关于c语言中的位数用什么函数和c语言中的位与的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读