永发信息网

急救,急救啊。。。c语言编程,输入一个不多于5位的整数,求出它是几位数。

答案:4  悬赏:30  手机版
解决时间 2021-03-20 00:15
  • 提问者网友:蔚蓝的太阳
  • 2021-03-19 11:49
急救,急救啊。。。c语言编程,输入一个不多于5位的整数,求出它是几位数。
最佳答案
  • 五星知识达人网友:低音帝王
  • 2021-03-19 12:25

比楼上的优点是可分解负整数。
#include
int main()
{ long n;
int i=0,j=0,f=0;
char x[60];
printf("n=");
scanf("%ld",&n);
if(n<0)
for(;n!=0;n/=10)
{ x[i++]='0'+n%10;j++;
if(j==3)
{ j=0;
x[i++]=',';
}
}
if(f) printf("-");
for(i-=1+(x[i-1]==',');i>=0;i--)
printf("%c",x[i]);
printf("\n");
}
全部回答
  • 1楼网友:老鼠爱大米
  • 2021-03-19 14:29
unsigned char abc(unsigned long x) //输入一个数x
{
unsigned char i=0;
if((x/10000)>0)i=5; //如x大于10000就是5位数
else if((x/1000)>0)i=4; //如x小于10000大于1000就是4位数
else if((x/100)>0)i=3; //如x小于1000大于100就是3位数
else if((x/10)>0)i=2; //如x小于100大于10就是2位数
else i=1; //否则就是1位数
return i; //返回位数
}
  • 2楼网友:过活
  • 2021-03-19 14:03
#include
int main(){
int i,count=0;
long n;
scanf("%d",&n);
for(i=1;i<=10000;i=i*10)
{
if(n/i!=0)
count++;
else
break;
}
printf("%d位数",count);
return 0;
}
  • 3楼网友:北城痞子
  • 2021-03-19 12:45
#include
#include

int main(void) {
int a, res;

scanf("%d", &a);
a = abs(a);

if (a > 0) {
for (res = 0 ; a > 0; a /= 10) {
res++;
}
} else {
res = 1;
}
printf("%d\n", res);

return 0;
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯