给一个不多于5位的正整数,要求: 1、求出它是几位数; 2、分别输出每一位数字; 3、按逆序输出各

给一个不多于5位的正整数,要求:1、求出它是几位数;2、分别输出每一位数字;3、按逆序输出各位数字。例如原数为321,应输出123。怎样用C语言编程,用if语句表示。... 给一个不多于5位的正整数,要求:
1、求出它是几位数;
2、分别输出每一位数字;
3、按逆序输出各位数字。例如
原数为321,应输出123。怎样用C语言编程,用if语句表示。
展开
 我来答
447587096
推荐于2017-09-04 · TA获得超过5047个赞
知道大有可为答主
回答量:2504
采纳率:70%
帮助的人:1267万
展开全部
#include<stdio.h>
#include<math.h>
void main()
{
long int num;
int a,b,c,d,e,place;
printf("please input a number(0--99999):\n");
scanf("%ld",&num);
if(num>=10000)
place=5;
else if(num>=1000)
place=4;
else if(num>=100)
place=3;
else if(num>=10)
place=2;
else
place=1;
printf("输入数的位数是:%d\n",place);
printf("每位数字为:");
e=num/10000;
d=(int)(num-e*10000)/1000;
c=(int)(num-e*10000-d*1000)/100;
b=(int)(num-e*10000-d*1000-c*100)/10;
a=(int)(num-e*10000-d*1000-c*100-b*10);
switch(place){
case 5:printf("%d,%d,%d,%d,%d",e,d,c,b,a);
printf("\n反序数字为:");
printf("%d,%d,%d,%d,%d\n",a,b,c,d,e);
break;
case 4:printf("%d,%d,%d,%d",d,c,b,a);
printf("\n反序数字为:");
printf("%d,%d,%d,%d\n",a,b,c,d);
break;
case 3:printf("%d,%d,%d",c,b,a);
printf("\n反序数字为:");
printf("%d,%d,%d\n",a,b,c);
break;
case 2:printf("%d,%d",b,a);
printf("\n反序数字为:");
printf("%d,%d\n",a,b);
break;

case 1:printf("%d",a);
printf("\n反序数字为:");
printf("%d\n",a);
break;
}
}
更多追问追答
追问
能用简单的if语句表示吗
追答
//改成if了
#include
#include
void main()
{
long int num;
int a,b,c,d,e,place;
printf("please input a number(0--99999):\n");
scanf("%ld",&num);
if(num>=10000)
place=5;
else if(num>=1000)
place=4;
else if(num>=100)
place=3;
else if(num>=10)
place=2;
else
place=1;
printf("输入数的位数是:%d\n",place);
printf("每位数字为:");
e=num/10000;
d=(int)(num-e*10000)/1000;
c=(int)(num-e*10000-d*1000)/100;
b=(int)(num-e*10000-d*1000-c*100)/10;
a=(int)(num-e*10000-d*1000-c*100-b*10);
if(place == 5)
{
printf("%d,%d,%d,%d,%d",e,d,c,b,a);
printf("\n反序数字为:");
printf("%d,%d,%d,%d,%d\n",a,b,c,d,e);
}
if(place == 4)
{
printf("%d,%d,%d,%d",d,c,b,a);
printf("\n反序数字为:");
printf("%d,%d,%d,%d\n",a,b,c,d);
}
if(place == 3)
{
printf("%d,%d,%d",c,b,a);
printf("\n反序数字为:");
printf("%d,%d,%d\n",a,b,c);
}
if(place == 2)
{
printf("%d,%d",b,a);
printf("\n反序数字为:");
printf("%d,%d\n",a,b);

}
if(place == 1)
{
printf("%d",a);
printf("\n反序数字为:");
printf("%d\n",a);

}

}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式