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

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

题目
给定一个不多于5位的正整数,要求:① 求它是几位数;② 分别打印出每一位数字;③ 按逆序打印出各位数
#include
main()
{ long int num;
int indiv,ten,hundred,thousand,ten_thousand,place;
printf("请输入一个整数(0~99999):");
scanf("%ld",&num);
if (num>9999) place=5;
else if(num>999) place=4;
else if(num>99) place=3;
else if(num>9) place=2;
else place=1;
printf("place =%d ",place);
ten_thousand=num/10000;
thousand=num/1000%10;
hundred=num/100%10; /*求高手具体解析下这个位置,要是num=89830是怎样的解析思路*/
ten=num%100/10;
indiv=num%10;
switch(place)
{ case 5:printf("%d,%d,%d,%d,%d",ten_thousand,thousand,hundred,ten,indiv);
printf(" 反序数字为;");
printf("%d%d%d%d%d ",indiv,ten,hundred,thousand,ten_thousand);
break;
case 4:printf("%d,%d,%d,%d",thousand,hundred,ten,indiv);
printf(" 反序数字为:");
printf("%d%d%d%d ",indiv,ten,hundred,thousand);
break;
case 3:printf("%d,%d,%d",hundred,ten,indiv);
printf(" 反序数字为:");
printf("%d%d%d ",indiv,ten,hu
答案
#include
main()
{
long m,a,b,c,d,e;
printf("请输入一个整数:(0~99999): ");
scanf("%ld",&m);
e=m%10;
d=m/10%10;
c=m/100%10;
b=m/1000%10;
a=m/10000%10;
if(m>=10000&&m=1000)
{
printf("你输入的是4位数. ");
printf("%ld %ld %ld %ld. ",b,c,d,e);
printf("逆序输出:%ld. ",e*1000+d*100+c*10+b);x09
}
else if(m>=100)
{
printf("你输入的是3位数. ");
printf("%ld %ld %ld. ",c,d,e);
printf("逆序输出:%ld. ",e*100+d*10+c);x09
}
else if(m>=10)
{
printf("你输入的是2位数. ");
printf("%ld %ld. ",d,e);
printf("逆序输出:%ld. ",e*10+d);x09
}
else if(m>=0)
{
printf("你输入的是1位数. ");
printf("%ld ",e);
printf("逆序输出:%ld. ",e);x09
}
getch();
}
举一反三
已知函数f(x)=x,g(x)=alnx,a∈R.若曲线y=f(x)与曲线y=g(x)相交,且在交点处有相同的切线,求a的值和该切线方程.
我想写一篇关于奥巴马的演讲的文章,写哪一篇好呢?为什么好
奥巴马演讲不用看稿子.为什么中国领导演讲要看?
想找英语初三上学期的首字母填空练习……
英语翻译
最新试题
热门考点

超级试练试题库

© 2017-2019 超级试练试题库,All Rights Reserved.