此程序可通过以下步骤实现:
目前创新互联建站已为上1000家的企业提供了网站建设、域名、虚拟空间、绵阳服务器托管、企业网站设计、德城网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
1、输入一个正整数
2、将整数转换为字符串(使用sprintf函数)
3、求字符串的长度(strlen函数),即正整数的位数
代码如下:
#include stdio.h
#include string.h
int main()
{
long num;
char str[20];
scanf("%ld", num);
sprintf(str, "%ld", num);
printf("%d", strlen(str));
return 0;
}
这样写主要是考虑到整数的前面可能有0,比如:00090,是两位数。如果确认没有前置0的话,可以简化过程,省去转换为字符串的过程,直接用gets得到字符串。
#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));
}
C语言怎么计算一个数有多少位的方法:
输入待计算的数x
定义一个数位的变量int n=0;
循环,x每次缩小10倍,n=n+1; 最终x会变成0,循环结束
输出n值
代码:
#include stdio.h
void main()
{
int x,m,n=0;
printf("input x: ");scanf("%d", x );
m=x; //备份原数,供输出用
do {
n++;
x /= 10 ;
} while( x0 );
printf("%d 是%d位数\n", m, n );
}
售后响应及时
7×24小时客服热线数据备份
更安全、更高效、更稳定价格公道精准
项目经理精准报价不弄虚作假合作无风险
重合同讲信誉,无效全额退款