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

   更新日期:2024.06.10

可以参考下面的代码:

#include <stdio.h> 

void main() 

{ int num; printf("请输入一个不大于5位数的正整数:"); 

scanf("%d",&num); 

if(num>99999||num<1) 

printf("您的输入有误!
"); 

else { if(num<10) 

printf("您输入的是1位数!
"); 

else if(num<100) 

printf("您输入的是2位数!
"); 

else if(num<1000) 

printf("您输入的是3位数!
"); 

else if(num<10000) printf("您输入的是4位数!
"); 

else printf("您输入的是5位数!
"); } }

扩展资料:

if语句的一般形式如下:

if(表达式)语句1

[else语句2]

if语句中的“表达式”可以是关系表达式、逻辑表达式,甚至是数值表达式。其中最直观、最容易理解的是关系表达式。所谓关系表达式就是两个数值进行比较的式子

if 语句的执行流程:首先判断关键词 if 后括号内条件表达式的值,如果该表达式的值为逻辑真(非 0),则执行 if 体,接着执行 if 体后的其他语句;否则,若该表达式的值为逻辑假(0),则不执行该 if 体,直接执行 if 体后的其他语句。

参考资料来源:百度百科-if语句



#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太麻烦了。建议用循环来做

#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;
}

#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;
}

x/10循环累加。ok

  • 18984805035 :用C语言编程:给一个不多于5位的正整数,要求如下:
    石泥咱2191 :答:修改后的代码:include<stdio.h> int main(){ int a, b, c, d, e, f, w;printf("输入一个不多于五位的整数:");scanf("%d",&a);//第一问,求出它是几位数 b = 10000 - a;c = 1000 - a;d = 100 - a;e = 10 - a;f = 0 - a;while (a < 0 || a > 99999)pr...
  • 18984805035 :c语言编程序 给一个不多于5位数的正整数,要求: 1:求出它是几位数; 2...
    石泥咱2191 :答:先 定义一个数组 a[5]初值 a[5]的各个数都等于-1;然后 对于你输入的数num;p=num;i=0;//主要程序 while(p>0){ a=[i]=p%10; //对p取余 p=p/10;i++;} 输出 几位数:printf("%d",i);逆序输出 数字:for(int j =0;j...
  • 18984805035 :c语言题目:给出一个不多于5位的正整数,要求:1、求出它是几位数2、分 ...
    石泥咱2191 :答:include<stdio.H>int main(){ unsigned int x=1, i=0; unsigned char c[5]={0}; while(1) { printf("输入正整数x(不超过5位):"); scanf("%u",&x); if(x/100000) { printf("超过范围!\n"); continue; } i=0; do { c[i++...
  • 18984805035 :给一个不多于5位的正整数,要求: 1,求出她是几位数, 2,分别输出每一位数...
    石泥咱2191 :答:{n=5;temp = 10000;}else if (a>1000) {n=4;temp = 1000;}else if (a>100) {n=3;temp = 100;}else if(a>10) {n=2;temp = 10;}else {n=1;temp = 1;}printf("这是一个 %d 位数\n",n); int num[n];printf("2、分别输出\n")...
  • 18984805035 :给出一个不多于5位的正整数,要求:输出它是几位数;分别输出每一位数...
    石泥咱2191 :答:楼主是要用C语言来编写程序么?以下是C语言程序代码 如果楼主的编译器不支持汉字的话,请将以下代码中汉字替换掉。include "stdio.h"define M 256 int main(void){ int num,temp,digit_num;int digit[M];int i,flag;do { flag=1;printf("请输入数字:\n");scanf("%d",&num);printf("\n...
  • 18984805035 :设计一个C语言程序:给一个不多于5位的正整数,要求:求出它是几位数,分 ...
    石泥咱2191 :答:} void rprint(int n)C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在...
  • 18984805035 :c语言 给一个不多于5位的正整数 用C语言写出
    石泥咱2191 :答:第一种方法代码:include <stdio.h> include <math.h> int main(){ int a,b,c,d;int count = 1;printf("请输入一个不多于5位的正整数:");scanf("%d",&a);c = a;printf("逆序:\n");while(c / 10 != 0){ count++;b = c % 10;printf("%d\n",b);c = c / 10;} ...
  • 18984805035 :C语言习题 数字逆序 给一个不多于五位的正整数 要求求出它是几位数...
    石泥咱2191 :答:include<stdio.h> void main(){ int num,numA,numB,numC,numD,numE,temp;printf("请输入一个小于等于五位数的整数:");scanf("%",num);while (num > 99999) { if (num <= 99999) { break;} printf("你输入的数字不合法,请重新输入!");printf("\n");printf("请输入一个小于等于五...
  • 18984805035 :用C语言编程:给一个不多于5位的正整数,要求循环嵌套实现?
    石泥咱2191 :答:用一个单纯的循环就可以实现这样的功能了。下面是实现的程序源代码。include<studio.h> int main(){int x,x1,x2=0,n=0;scanf(“%d”,&x);for(x1=x;x;x/=10){x2=x2*10+x%10;n++;} printf(“%d是一个%d位数,反过来是%d\n",x1,n,x2);return 0;} ...
  • 18984805035 :用C语言编程:给一个不多于5位的正整数,要求如下:
    石泥咱2191 :答:修改后的代码:include<stdio.h> int main(){ int a, b, c, d, e, f, w;printf("输入一个不多于五位的整数:");scanf("%d",&a);//第一问,求出它是几位数 b = 10000 - a;c = 1000 - a;d = 100 - a;e = 10 - a;f = 0 - a;while (a < 0 || a > 99999)pr...
  • 相关链接

    欢迎反馈与建议,请联系电邮
    2024 © 视觉网