
C语言程序设计:编写如下程序
输入一个不多于5位的正整数,要求:1.求出它是几位数;2.分别输出每一位数字;3.按逆序输出各位数字,例如原数为321,应输出123。....
输入一个不多于5位的正整数,要求:
1. 求出它是几位数;
2. 分别输出每一位数字;
3. 按逆序输出各位数字,例如原数为 321,应输出 123。. 展开
1. 求出它是几位数;
2. 分别输出每一位数字;
3. 按逆序输出各位数字,例如原数为 321,应输出 123。. 展开
3个回答
展开全部
#include<stdio.h>
void main()
{
long a,b,c,d,e,x;
scanf("%ld",&x);
a=x/10000;/*分解出万位*/
b=x%10000/1000;/*分解出千位*/
c=x%1000/100;/*分解出百位*/
d=x%100/10;/*分解出十位*/
e=x%10;/*分解出个位*/
if (a!=0){ printf("there are 5, %ld %ld %ld %ld %ld\n",a,b,c,d,e); printf("逆序为, %ld %ld %ld %ld %ld\n",e,d,c,b,a); }
else if (b!=0) {printf("there are 4, %ld %ld %ld %ld\n",b,c,d,e); printf("逆序为, %ld %ld %ld %ld\n",e,d,c,b);}
else if (c!=0) {printf(" there are 3,%ld %ld %ld\n",c,d,e); printf("逆序为, %ld %ld %ld\n",e,d,c);}
else if (d!=0) {printf("there are 2, %ld %ld\n",d,e); printf("逆序为, %ld %ld\n",e,d);}
else if (e!=0) {printf(" there are 1,%ld\n",e); printf("逆序为, %ld\n",e);}
}
void main()
{
long a,b,c,d,e,x;
scanf("%ld",&x);
a=x/10000;/*分解出万位*/
b=x%10000/1000;/*分解出千位*/
c=x%1000/100;/*分解出百位*/
d=x%100/10;/*分解出十位*/
e=x%10;/*分解出个位*/
if (a!=0){ printf("there are 5, %ld %ld %ld %ld %ld\n",a,b,c,d,e); printf("逆序为, %ld %ld %ld %ld %ld\n",e,d,c,b,a); }
else if (b!=0) {printf("there are 4, %ld %ld %ld %ld\n",b,c,d,e); printf("逆序为, %ld %ld %ld %ld\n",e,d,c,b);}
else if (c!=0) {printf(" there are 3,%ld %ld %ld\n",c,d,e); printf("逆序为, %ld %ld %ld\n",e,d,c);}
else if (d!=0) {printf("there are 2, %ld %ld\n",d,e); printf("逆序为, %ld %ld\n",e,d);}
else if (e!=0) {printf(" there are 1,%ld\n",e); printf("逆序为, %ld\n",e);}
}
展开全部
main()
{long a;
int i=0,s=0,x;
printf("他的每一位数");
while(a!=0)
{i=i+1;
a=a/10;
s=s*10+x;
printf("%d",x);
}
printf("\n");
printf("他是%d位数\n",i);
printf("他的逆序是%d\n",s);
}
{long a;
int i=0,s=0,x;
printf("他的每一位数");
while(a!=0)
{i=i+1;
a=a/10;
s=s*10+x;
printf("%d",x);
}
printf("\n");
printf("他是%d位数\n",i);
printf("他的逆序是%d\n",s);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <stdio.h>
void main()
{
long inputNumber = -1;
long outputNumber = 0;
int digit;
printf("请输入小于6位的正整数\n");
while(inputNumber < 0 || inputNumber > 99999)
{
scanf("%ld",&inputNumber);
if (inputNumber < 0 || inputNumber > 99999)
{
printf("\n输入数字错误,再试一次\n");
}
}
for (digit = 1; digit<= 5; digit++)
{
outputNumber = outputNumber*10 + inputNumber % 10;
printf("\n%d",inputNumber%10);
inputNumber /= 10;
if (inputNumber == 0)
{
break;
}
}
printf("\n有%ld位",digit);
printf("\n逆序为%ld",outputNumber);
}
void main()
{
long inputNumber = -1;
long outputNumber = 0;
int digit;
printf("请输入小于6位的正整数\n");
while(inputNumber < 0 || inputNumber > 99999)
{
scanf("%ld",&inputNumber);
if (inputNumber < 0 || inputNumber > 99999)
{
printf("\n输入数字错误,再试一次\n");
}
}
for (digit = 1; digit<= 5; digit++)
{
outputNumber = outputNumber*10 + inputNumber % 10;
printf("\n%d",inputNumber%10);
inputNumber /= 10;
if (inputNumber == 0)
{
break;
}
}
printf("\n有%ld位",digit);
printf("\n逆序为%ld",outputNumber);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询