5输入一个不超过5位的正整数,编程实现:求出它是几位数,分别输出每位数字。

Posted 醉翁之意不在酒YS

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了5输入一个不超过5位的正整数,编程实现:求出它是几位数,分别输出每位数字。相关的知识,希望对你有一定的参考价值。

 1 #include<stdio.h>
 2 #include<math.h>
 3 int flws(int);
 4 void main()
 5 {
 6     int n,j,k=0;
 7     printf("请输入一个正整数:\n");
 8     scanf("%d",&n);
 9     j=n;
10     while(j!=0)  //取位
11     {
12         j/=10;
13         k++;
14     }
15     if(k<=5)
16         flws(n,k);
17     else
18         printf("这个数的位数大于5位。\n");
19 }
20 int flws(int n,int k) 
21 {
22     int b,fl,i=1;
23     while(k!=0)
24     {    
25         b=pow(10,k-1); //利用pow函数取n-1位的位权
26         fl=n/b;
27         n%=b;
28         printf("这个数的第%d位为%d\n",i,fl);
29         k--,i++;
30     }
31     return 0;
32 }



 1 //5、输入一个不超过5位的正整数,编程实现:求出它是几位数,分别输出每位数字。
 2 #include<stdio.h>
 3 #include<math.h>
 4 void main()
 5 {
 6     int n,i,j,k,b,f;
 7     k=0;
 8     scanf("%d",&n);
 9     j=n;
10     while(j!=0)  //先取位数给k
11     {
12         k++;
13        j/=10;
14     }
15     f=pow(10,k-1);  //取最高位位权
16     printf("这个数有%d位\n",k);
17     if(k>5||n<=0) printf("该数不是小于5位的正整数\n");
18         else for(i=1;i<=k;i++) //从高到低取位
19         {
20             b=n/f; //取每一次最高位
21             n=n%f; //去掉最高位
22             f/=10;  //改变位权
23             printf("这个数的第%d位为%d\n",i,b);
24         }
25 
26 }

还有一个很笨比的方法:

 1 /*5、输入一个不超过5位的正整数,
 2 编程实现:求出它是几位数,
 3 分别输出每位数字。*/
 4 #include<stdio.h>
 5 void main()
 6 {
 7     int n,j,i,k,count,f;
 8     k=0;
 9     scanf("%d",&n);
10     j=n;
11     while(j!=0)  //先取位数给k
12     {
13         k++;
14        j/=10;
15     }
16     printf("这个数有%d位\n",k);
17     if(k>5||n<=0) printf("该数不是小于5位的正整数\n");
18     else for(i=1;i<=k;i++) //从高到低取位
19     {
20         f=n;
21         for(count=i;count<=k;count++)
22         {
23                 j=f%10;
24                 f/=10;
25     
26         }
27         printf("这个数的第%d为%d\n",i,j);
28     }
29 
30 }

 

 

 

 

以上是关于5输入一个不超过5位的正整数,编程实现:求出它是几位数,分别输出每位数字。的主要内容,如果未能解决你的问题,请参考以下文章

编写程序,输入一个不多于5位的正整数,要求:(1)输出它是几位数; (2)分别输出每一位数字?

给定一个不多于5位的正整数,要求:① 求它是几位数;② 分别打印出每一位数字;③ 按逆序打印出各位数

给一个不多于5位的正整数,要求:一求它是几位数,二逆序打印出各位数字。

输入一个不多于5位的正整数,要求:一求它是几位数,二逆序打印出各位数字。

给定一个不多于5位的正整数,求它是几位数并且按逆序分别输出每一位数字的C语言程序如何编写?

给出一个不多于5位的正整数