c语言编程:给一个不多于五位的正整数,用if-else语句求出它是几位数
发布网友
发布时间:2022-05-18 09:03
我来回答
共5个回答
热心网友
时间:2023-10-13 01:36
可以参考下面的代码:
#include <stdio.h>
void main()
{ int num; printf("请输入一个不大于5位数的正整数:");
scanf("%d",&num);
if(num>99999||num<1)
printf("您的输入有误!\n");
else { if(num<10)
printf("您输入的是1位数!\n");
else if(num<100)
printf("您输入的是2位数!\n");
else if(num<1000)
printf("您输入的是3位数!\n");
else if(num<10000) printf("您输入的是4位数!\n");
else printf("您输入的是5位数!\n"); } }
扩展资料:
if语句的一般形式如下:
if(表达式)语句1
[else语句2]
if语句中的“表达式”可以是关系表达式、逻辑表达式,甚至是数值表达式。其中最直观、最容易理解的是关系表达式。所谓关系表达式就是两个数值进行比较的式子
if 语句的执行流程:首先判断关键词 if 后括号内条件表达式的值,如果该表达式的值为逻辑真(非 0),则执行 if 体,接着执行 if 体后的其他语句;否则,若该表达式的值为逻辑假(0),则不执行该 if 体,直接执行 if 体后的其他语句。
参考资料来源:百度百科-if语句
热心网友
时间:2023-10-13 01:36
#include<stdio.h>
#include<stdlib.h>
main()
{
int n;
printf("Please input the number:\n");
scanf("%d",&n);
if(n/10==0)
printf("是1位数");
else if(n/10!=0){
n=n/10;
if(n/10==0)
printf("是2位数");
else if(n/10!=0){
n=n/10;
if(n/10==0)
printf("是3位数");
else if(n/10!=0){
n=n/10;
if(n/10==0)
printf("是四位数");
else if(n/10!=0){
n=n/10;
if(n/10==0)
printf("是五位数");
}
}
}
}
system("pause");
return 0;
}
用if-else太麻烦了。建议用循环来做
热心网友
时间:2023-10-13 01:37
#include<stdio.h>
int main()
{
int count;
printf("Please input a number:");
scanf("%ld",&count);
if(count>=10000&&count<=99999)
printf("这是个5位数!");
else if(count>=1000&&count<=9999)
printf("这是个4位数!");
else if(count>=100&&count<=999)
printf("这是个3位数!");
else if(count>=10&&count<=99)
printf("这是个2位数!");
else if(count>=0&&count<=9)
printf("这是个1位数!");
else
printf("不在范围内!");
return 0;
}
热心网友
时间:2023-10-13 01:37
#include <stdio.h>
int main()
{
int n;
printf("Please input a number (0<number<100000):");
scanf("%d", &n);
if(n<=0) printf("%d 不是正整数\n", n);
else if(n<10) printf("%d 是1位数\n", n);
else if(n<100) printf("%d 是2位数\n", n);
else if(n<1000) printf("%d 是3位数\n", n);
else if(n<10000) printf("%d 是4位数\n", n);
else if(n<100000) printf("%d 是5位数\n", n);
else printf("%d 多于5位数\n", n);
return 0;
}
热心网友
时间:2023-10-13 01:38
x/10循环累加。ok