急救,急救啊。。。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; //返回位数
}
{
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;
}
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;
}
#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;
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯