c语言程序设计 输入一个小于五位的整数,判断它的位数并输出各个位数

如题所述

#include <stdio.h>
int ShowNumber(int iNumber)
{
    int iBits = 0;
    while (iNumber > 0)
    {
        printf("%d ", iNumber % 10);
        iNumber = iNumber / 10;
        iBits++;
    }
    printf("\n");
    return iBits;
}
int main(void)
{
    int iNumber;
    int iBits;
    printf("请输入一个数:\n");
    scanf("%d", &iNumber);
    printf("各位数依次为:\n");
    iBits = ShowNumber(iNumber);
    printf("这个数共有 %d 位.\n", iBits);

    return 0;    
}

测试截图:

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-02-28

#include<stdio.h>

void main()

{ int a,n,b[5],x,i;

  INAG: scanf("%d",&a); if ( a<0 || a>100000 ) { printf("请重新输入。\n"); goto INAG; }

  x=a; n=0; while ( x ) { b[n]=x%10; n++; x/=10; }

  if ( n==0 ) printf("%d的位数是1位:0\n",a);

  else

  { printf("%d的位数是%d位:",a,n);

    for ( i=0;i<n;i++ ) printf("%d ",b[n-i-1]);

    printf("\n");

  }

}

本回答被网友采纳
第2个回答  2014-12-15
#include<stdio.h>

int main(){
int n;
scanf("%d", &n);

if (n >= 10000){
printf("输入的数不能大于5位数!\n");
return 0;
}

printf("个位:%d\n", n % 10);

if (n >= 1000 && n <= 9999){
printf("十位:%d\n", n %1000%100/10);
printf("百位:%d\n", n%1000/100);
printf("千位:%d\n", n / 1000);

}else if (n >= 100 && n <= 999){
printf("十位:%d\n", n %100/10);
printf("百位:%d\n", n / 100);
}else{
printf("十位:%d\n", n / 10);
}

return 0;
}

第3个回答  2014-12-15
# include <stdio.h>

int main(void)
{
    char ch[6] = {0};
    int i;
    scanf("%d", &i);
    sprintf(ch, "%d", i);
    printf("%s", ch);

    return 0;
}

c语言程序设计 输入一个小于五位的整数,判断它的位数并输出各个位数
int iBits; printf("请输入一个数:\\n"); scanf("%d", &iNumber); printf("各位数依次为:\\n"); iBits = ShowNumber(iNumber); printf("这个数共有 %d 位.\\n", iBits); return 0; }测试截图:

c语言编程:给一个不多于5位的正整数,要求(1)求出它是几位数(2)分别输 ...
i,a[5];printf ("输入一个不多于5位正整数(0~99999):\\n");scanf("%d",&n);if (n<=0 || n>=100000){printf ("输入的数不合法\\n");}else{while(1){a[count]=n%10;n=n\/10;if(n==0){break;}count++;}printf("位数:%d\\n正序:",...

设计一个C语言程序:给一个不多于5位的正整数,要求:求出它是几位数,分 ...
int Digit(int n){ return n > 0 ? 1 + Digit(n\/10) : 0;} void rprint(int n)C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。尽管C语言提供了许多低级处理的功能...

...几位数并且按逆序分别输出每一位数字的C语言程序如何编写?
{int x,x1,i,n,a[6]={0};scanf("%d",&x);x1=x;for(n=0;x;n++){ a[n]=x%10;x\/=10;} printf("%d是%d位数\\n",x1,n);for(i=0;i<n;i++)printf("%d ",a[n-1-i]);printf("\\n逆序输出是:");for(i=0;i<n;i++)printf("%d ",a[i]);return 0;} C语言...

用C语言编程:给出一个不多于5位的正整数,判断它是几位数
思路是:①判断这个数是否小于10000并且大于0(检查输入的正确性)②假设输入数字是a,判断a是否等于1000、100、10。③判断a%1000是否大于0,如果是,则这个数是四位数,如果不是,判断a%100是否大于0,如果是,则这个数是三位数,判断a%10是否大于0,如果是,则这个数是两位数,如果以上情况都不是...

c语言编程序 给一个不多于5位数的正整数,要求: 1:求出它是几位数; 2...
先 定义一个数组 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...

c语言编程:给一个不多于五位的正整数,用if-else语句求出它是几位数
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("您输入的...

c语言 给一个不多于5位的正整数 用C语言写出
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;} b = c % 10;printf("%d\\n",b);printf("位数是:%d\\n",count);...

输入一个不多于5位的正整数,求出它是个几位数,C语言设计
23 23是2位数。2234565 2234565是7位数。q Press any key to continue \/ include <stdio.h>int main() {unsigned num,digits,t;while(scanf("%u",&num) == 1) {digits = 0;t = num;if(t == 0) digits = 1;else {while(t) {t \/= 10;++digits;}}printf("%u是%d位数。\\n",...

用C语言编程:给一个不多于5位的正整数,要求如下:
printf("输入一个不多于五位的整数:");scanf("%d",&a);\/\/第一问,求出它是几位数 b = 10000 - a;c = 1000 - a;d = 100 - a;e = 10 - a;f = 0 - a;while (a < 0 || a > 99999)printf("输入错误,请重新输入\\n");if (b < 0){ printf("a是五位数\\n");w =...

相似回答