求判断输入的数的位数
解决时间 2021-04-16 14:32
- 提问者网友:wodetian
- 2021-04-15 18:51
输入一个不大于五位数的数 然后判断是几位数 我是这样写的
#include<stdio.h>
void main()
{
int x,a,b,c,d;
scanf("%d",&x);
if (10000<='x'<=99999)
{
printf("%d是五位数\n",x);
a=x;
}
if (1000<='x'<=9999)
{
printf("%d是四位数\n",x);
b=x;
}
if (100<='x'<=999)
{
printf("%d是三位数\n",x);
c=x;
}
if (10<='x'<=99)
{
printf("%d是二位数\n",x);
d=x;
}
else
{
printf("%d是一位数\n",x);
}
}
有点繁琐 但是这里面错在哪里 为什么每次输入一个数 都显示XX是五位 然后是四位 然后三位 二位的? 谢谢诶!
最佳答案
- 五星知识达人网友:琴狂剑也妄
- 2021-04-15 20:02
x不用加引号
而且c语言里是不支持这种写法的
10<=x<=99 帮你改了下 看看吧
#include<stdio.h>
void main()
{
int x,a,b,c,d;
scanf("%d",&x);
if (10000<=x&&x<=99999)
{
printf("%d是五位数\n",x);
a=x;
}
if (1000<=x&&x<=9999)
{
printf("%d是四位数\n",x);
b=x;
}
if (100<=x&&x<=999)
{
printf("%d是三位数\n",x);
c=x;
}
if (10<=x&&x<=99)
{
printf("%d是二位数\n",x);
d=x;
}
else
{
printf("%d是一位数\n",x);
}
}
全部回答
- 1楼网友:廢物販賣機
- 2021-04-16 02:29
#include<stdio.h>
void main()
{
int x,a,b,c,d;
scanf("%d",&x);
if (10000<='x'<=99999) // x>=10000&&x<=99999
{
printf("%d是五位数\n",x);
a=x;
}
if (1000<='x'<=9999) // x>=1000&&x<=9999
{
printf("%d是四位数\n",x);
b=x;
}
if (100<='x'<=999) // x>=100&&x<=999
{
printf("%d是三位数\n",x);
c=x;
}
if (10<='x'<=99) // x>=10&&x<=99
{
printf("%d是二位数\n",x);
d=x;
}
else
{
printf("%d是一位数\n",x);
}
}
- 2楼网友:行雁书
- 2021-04-16 00:59
第一,x是整数,它的单引号去掉;
第二,if的条件错了:比如五位数的条件应为10000<=x&&x<=99999
- 3楼网友:春色三分
- 2021-04-15 23:25
#include<stdio.h>
void main()
{
int x,a,b,c,d;
scanf("%d",&x);
if (10000<=x&&x<=65535)
{
printf("%d是五位数\n",x);
a=x;
}
else if (1000<=x&&x<=9999)
{
printf("%d是四位数\n",x);
b=x;
}
else if (100<=x&&x<=999)
{
printf("%d是三位数\n",x);
c=x;
}
else if (10<=x&&x<=99)//应该这样写 因为是整形 不是字符
{
printf("%d是二位数\n",x);
d=x;
}
else
{
printf("%d是一位数\n",x);
}
}
- 4楼网友:时间的尘埃
- 2021-04-15 22:21
'x'表示的是字母x,而x(不加'')表示的才是变量, 所以改成把'x'改成x就行了!!!!!
- 5楼网友:山有枢
- 2021-04-15 21:33
我要举报
大家都在看
推荐资讯