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

2024-11-07 20:59:43
推荐回答(3个)
回答(1):

#include
main()
{
long m,a,b,c,d,e;
printf("请输入一个整数:(0~99999):\n");
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<=99999)
{
printf("你输入的是5位数.\n");
printf("%ld %ld %ld %ld %ld.\n",a,b,c,d,e);
printf("逆序输出:%ld.\n",e*10000+d*1000+c*100+b*10+a);
}
else if(m>=1000)
{
printf("你输入的是4位数.\n");
printf("%ld %ld %ld %ld.\n",b,c,d,e);
printf("逆序输出:%ld.\n",e*1000+d*100+c*10+b);
}
else if(m>=100)
{
printf("你输入的是3位数.\n");
printf("%ld %ld %ld.\n",c,d,e);
printf("逆序输出:%ld.\n",e*100+d*10+c);
}
else if(m>=10)
{
printf("你输入的是2位数.\n");
printf("%ld %ld.\n",d,e);
printf("逆序输出:%ld.\n",e*10+d);
}
else if(m>=0)
{
printf("你输入的是1位数.\n");
printf("%ld\n",e);
printf("逆序输出:%ld.\n",e);
}
getch();
}

回答(2):

#include
main()
{
long m,a,b,c,d,e;
printf("请输入一个整数:(0~99999):\n");
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<=99999)
{
printf("你输入的是5位数.\n");
printf("%ld %ld %ld %ld %ld.\n",a,b,c,d,e);
printf("逆序输出:%ld.\n",e*10000+d*1000+c*100+b*10+a);
}
else if(m>=1000)
{
printf("你输入的是4位数.\n");
printf("%ld %ld %ld %ld.\n",b,c,d,e);
printf("逆序输出:%ld.\n",e*1000+d*100+c*10+b);
}
else if(m>=100)
{
printf("你输入的是3位数.\n");
printf("%ld %ld %ld.\n",c,d,e);
printf("逆序输出:%ld.\n",e*100+d*10+c);
}
else if(m>=10)
{
printf("你输入的是2位数.\n");
printf("%ld %ld.\n",d,e);
printf("逆序输出:%ld.\n",e*10+d);
}
else if(m>=0)
{
printf("你输入的是1位数.\n");
printf("%ld\n",e);
printf("逆序输出:%ld.\n",e);
}
getch();
}

回答(3):

#include 
#include 
#include 

int main()
{
    char a[99];
    gets(a);
    int i=strlen(a);
    char *p=a;
    printf("%d位数\n",i);
    while(*p)
    {
        printf("%c",*p);
        *p++;
    }
    return 0;
}