十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
#includestdio.h
十多年建站经验, 成都网站建设、网站建设客户的见证与正确选择。创新互联提供完善的营销型网页建站明细报价表。后期开发更加便捷高效,我们致力于追求更美、更快、更规范。
int count = 1;
int calc(int num){
while (1 == 1) {
count++;
num /= 10;
if(num 0){ //小于0的数就变成正数
num *= -1;
}
if (num 10) {
break;
}
}
return count;
}
void main(){
int num = 0;
printf("请输入一个数:");
scanf("%d",num)
printf("数字%d是一个%d位数!",num,calc(num));
}
代码如下:
#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语言控制输出数字的有效位数可以使用printf()函数格式化输出格式。
printf()函数的调用格式为: printf("格式化字符串", 参量表)。
其中格式化字符串可以控制输出数字的有效位数,只要将格式化字符串中加入%x.y就可以设置输出的数字的位数了。x指定数据的宽度,即在输出时可以输出的最多数字位数;y指定小数位数,即保留小数点后y位数。
扩展资料
printf()函数的功能及用法:
1、在c语言中产生格式化输出的函数(定义在 stdio.h 中),其向未重定向终端(显示器、控制台等)输出字符。
2、无格式字符复制到输出流。
3、转换规范,每个规范导致在值参数列表中检索 1 个或更多个项。
4、转义序列,用于控制小数点后面的位数。
参考资料来源:百度百科——printf
获取输入数据比较简单,用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. 使用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);
}