c语言编程:给一个不多于五位的正整数,用if-else语句求出它是几位数

如题所述

可以参考下面的代码:

#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语句

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-07-26
#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太麻烦了。建议用循环来做本回答被提问者采纳
第2个回答  2009-07-23
#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;
}
第3个回答  2009-07-23
#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;
}
第4个回答  2009-07-23
x/10循环累加。ok
相似回答