如何用C语言编写一个程序,内容是输入一个数字即可得到它的位数

如题所述

第1个回答  推荐于2017-12-15
如果有负数或者小数要分类讨论,这是非负整数情况:
#include<stdio.h>
int main()
{
int n,cnt=0;
scanf("%d",&n);
while (n!=0)
{
n/=10;
cnt++;
}
printf("%d\n",cnt);
}
如果是有小数或者负数(包括小数点和负号):
#include<stdio.h>
#include<string.h>
char s[1005];
int main()
{
int cnt;
scanf("%s",s);
cnt=strlen(s);
printf("%d\n",cnt);
}本回答被网友采纳
第2个回答  推荐于2018-03-11
#include<stdio.h>
#include<stdlib.h>
int main()
{
char c;
int num=0;
scanf("%c",&c);
while(c!='\n')
{
num++;
scanf("%c",&c);
}
printf("%d",num);
}
这样做就可以呀,你可以参考一下。本回答被网友采纳
第3个回答  2014-10-06
#include<stdio.h>

int main()
{
int a,n,temp;
puts("Please input a number :\n");
scanf("%d",&a):
for(n=1;a/10>10;n++);
printf("Number /" %d /" is a %d digits.",a,n);
return(0);
}

没时间了,没编译,自己试下吧
第4个回答  2014-10-06
#include<stdio.h>
void main()
{
    int a,cnt=0;
    scanf("%d",&a);
    for(;a>0;a=a/10)
        cnt++;
    printf("%d\n",cnt);
}

第5个回答  2014-10-06
#include <stdio.h>
main()
{
int i=0,a,n;
printf("Please input a integer。");
scanf("%d",&n);
a=n;
while(a>0)
{
a=n/10;
i++;
}
printf("这个数共有%d位“,i);
}
\*这个是我自己写的,你试试看*\
相似回答