急需C语言高手挽救

来源:百度知道 编辑:UC知道 时间:2024/08/23 20:29:22
给一个不多于5为的正整数,要求是<1>求出他的是几位数<2>分别输出每一位数字<3>按逆序输出各位数字

将每一位提取出来保存到数组里就行了

#include "stdio.h"
#include "string.h"
main()
{
int a,i=0;char b[6]={0};
scanf("%d",&a);
while(a)
{b[i++]=a%10;a/=10;}
printf("这个数是%d位\n各位分别是:",strlen(b));
while(i--)printf("%d ",b[i]);
printf("\n逆序是:");
while(b[++i])printf("%d ",b[i]);
}

#include<stdio.h>
void main()
{
long int num;
int a,b,c,d,e;
printf("输入一不多于5位的正整数: ");
scanf("%ld",&num);
a=num/10000;
b=(num-a*10000)/1000;
c=(num-a*10000-b*1000)/100;
d=(num-a*10000-b*1000-c*100)/10;
e=(num-a*10000-b*1000-c*100-d*10)/1;
if(a)
{
printf("这个数是5位正整数\n");
printf("%d\n%d\n%d\n%d\n%d\n",e,d,c,b,a);
}
else if(b)
{
printf("这个数是4位正整数\n");
printf("%d\