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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2.给一个不多于5位的正整数,要求: ①求出它是几位数; ②分别输出每一位数字 ③按逆序输出各位数字。相关的知识,希望对你有一定的参考价值。

#include <stdio.h>
void main()

int x,|1,|2,|3,|4,|5;/* |1 |2 |3 |4 |5代表各位数字*/ ;
printf("请输入一个不多于5位的正整数:");
scanf("%d",&x);
if (x<10)

printf("%d是一个1位数\n",x);
printf("个位数是%d\n",x);

else if (x<100)

printf("%d是一个2位数\n",x);
|1=x/10;
|2=x-|1*10;
printf("个位%d,十位%d\n",|1,|2);
printf("逆序输出:%d",|2*10+|1);

else if (x<1000)

printf("%d是一个3位数的数\n",x);
|1=x/100;
|2=(x-|1*100)/10;
|3=x-|1*100-|2*10;
printf("个位%d,十位%d,百位%d\n",|1,|2,|3);
printf("逆序输出:%d",|3*100+|2*10+|1);

else if(x<10000)

printf("%d是一个4位数的数\n",x);
|1=x/1000;
|2=(x-|1*1000)/100;
|3=(x-|1*1000-|2*100)/10;
|4=x-|1*1000-|2*100-|3*10;
printf("个位%d,十位%d,百位%d,千位%d\n",|1,|2,|3,|4);
printf("逆序输出:%d",|4*1000+|3*100+|2*10+|1);

else

return 0


哪有问题,谢谢

先定义一个整型变量a,键盘输入赋值给a,a对10求余,再a除以10,循环操作,直到a等于0,用一个数组依次储存余数,就是a各位上的数。

//参考代码 
#include<stdio.h>
int main()
int i=0,j,a,n[6];
scanf("%d",&a);
while(a)
n[i++]=a%10;
a/=10;

printf("它是%d位数\\n",i);
printf("正序输出各数:");
for(j=i-1;j>=0;j--)
printf("%d ",n[j]); 
printf("\\n逆序输出各数:");
for(j=0;j<i;j++)
printf("%d ",n[j]);
return 0;

 /*
1234
它是4位数
正序输出各数:1 2 3 4
逆序输出各数:4 3 2 1
 */
参考技术A

#include <stdio.h> 

void main() 

 

int x,l1,l2,l3,l4,l5;/* l1 l2 l3 l4 l5代表各位数字*/ ;

printf("请输入一个不多于5位的正整数:"); 

scanf("%d",&x); 

if (x<10) 

 

printf("%d是一个1位数\\n",x); 

printf("个位数是%d\\n",x);

 

else if (x<100) 

 

printf("%d是一个2位数\\n",x); 

l1=x/10; 

l2=x-l1*10; 

printf("个位%d,十位%d\\n",l1,l2); 

printf("逆序输出:%d\\n",l2*10+l1);

else if (x<1000)

printf("%d是一个3位数的数\\n",x);

l1=x/100;

l2=(x-l1*100)/10;

l3=x-l1*100-l2*10;

printf("个位%d,十位%d,百位%d\\n",l1,l2,l3);

printf("逆序输出:%d\\n",l3*100+l2*10+l1);

else if(x<10000)

printf("%d是一个4位数的数\\n",x);

l1=x/1000;

l2=(x-l1*1000)/100;

l3=(x-l1*1000-l2*100)/10;

l4=x-l1*1000-l2*100-l3*10;

printf("个位%d,十位%d,百位%d,千位%d\\n",l1,l2,l3,l4);

printf("逆序输出:%d\\n",l4*1000+l3*100+l2*10+l1);

else

return 0;

参考技术B /*改了,最大的问师是 |是特殊符号,不能用的定义变量上,其它的都是小问题*/
#include <stdio.h>
void main()

int x,m1,m2,m3,m4,m5;/* m1 m2 m3 m4 m5代表各位数字*/ ;
printf("请输入一个不多于5位的正整数:");
scanf("%d",&x);
if (x<10)

printf("%d是一个1位数\n",x);
printf("个位数是%d\n",x);

else if (x<100)

printf("%d是一个2位数\n",x);
m1=x/10;
m2=x-m1*10;
printf("个位%d,十位%d\n",m2,m1);
printf("逆序输出:%d",m2*10+m1);

else if (x<1000)

printf("%d是一个3位数的数\n",x);
m1=x/100;
m2=(x-m1*100)/10;
m3=x-m1*100-m2*10;
printf("个位%d,十位%d,百位%d\n",m3,m2,m1);
printf("逆序输出:%d",m3*100+m2*10+m1);

else if(x<10000)

printf("%d是一个4位数的数\n",x);
m1=x/1000;
m2=(x-m1*1000)/100;
m3=(x-m1*1000-m2*100)/10;
m4=x-m1*1000-m2*100-m3*10;
printf("个位%d,十位%d,百位%d,千位%d\n",m4,m3,m2,m1);
printf("逆序输出:%d",m4*1000+m3*100+m2*10+m1);

else

return;

java中如何求出2008年的第1星期星期一是几号?

题目8: 2008年的第1星期星期一是几号?(视频下载) (全部书籍)
本章源码
import java.util.*;
public class Test {
    public static void main(String[] args) {
        Date date;
        Calendar cal=Calendar.getInstance();
        cal.set(Calendar.YEAR, 2008);
        cal.set(Calendar.WEEK_OF_YEAR, 1);
        cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
。。。。。。。。。。
详情请见:http://www.mark-to-win.com/index.html?content=JavaBeginner/javaUrl.html&chapter=JavaBeginner/JavaBeginner2_web.html#CalculateDate2












以上是关于2.给一个不多于5位的正整数,要求: ①求出它是几位数; ②分别输出每一位数字 ③按逆序输出各位数字。的主要内容,如果未能解决你的问题,请参考以下文章

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

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

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

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

给出一个不多于5位的整数,要求 1求出它是几位数 2分别输出每一位数字 3按逆序输出各位数字,例如原数为321,应输出123

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