c语言编程:给一个不多于5位的正整数,要求(1)求出它是几位数(2)分别输出每一位数字(3)按逆序

2024-10-30 07:45:40
推荐回答(3个)
回答(1):

#include
void main()
{
    int n,i=0;
    int j=0;
    while(1)
    {
        printf("请输入一个小于5位数的整数:");
        scanf("%d",&n);
        if(n>=10000)
            printf("输入错误,请重新输入:");
        else
            break;
    }
    while(n)
    {
        i=i*10+n%10;
        n=n/10;
        j++;
    }
    printf("输入数字为%d位数\n",j);
    printf("逆序后:%d\n",i);
}

回答(2):

#include
int main(){
int a,j = 0,i[5] = {0} ,n = 0;
scanf("%d",&a);
do{
i[j] = a % 10;
j++;
}while(a = a / 10)
printf("它是%d位数",j+1);
n = j;
for ( ;j >=0 ; j--)
printf("%d\n",i[j]);
for( j = 0;j <= n;j++)
printf("%d",i[j]);
return 0;
}

回答(3):

SO EASY
#include
#include"math.h"
my(int a)
{int n=0,j=0;
while(a){
n=n*10+a%10;
a=a/10;
j++;
}
printf("输入数字为%d位数\n",j);
return n;
}
main()
{ int a,j=0,n=0;
do
{printf("请输入五位以内的数\n");
scanf("%d",&a);
if(n>pow(10,5))
printf("输入错误,请重新输入:");
else
break;
}while(1);
n=my(a);
printf("逆序后:%d\n",n);
}