C语言如何编程实现给出一个不多于4位的正整数,输出它是几位数并且按逆序输出每一位数字?

2024-10-28 03:14:44
推荐回答(1个)
回答(1):

#include
#include

int main(void)
{
int num;
do
{
printf("请输入一个不大于四位的数据:\n");
scanf("%d", &num);
while(getchar()!='\n') //防止意外输入无效字符
continue;
}while(!(num>0 && num<10000));

int i=1, weishu=0;
for(i=1; num/i>0; i=i*10)
weishu++;
printf("输入的数据是%d位数据\n", weishu);

int num1 = num;
for(i=pow(10, weishu-1); i>=1; i/=10)
{
printf("%d\t", num1/i);
num1 = num1%i;
}
printf("\n");

num1 = num;
for(i=10; i<=pow(10, weishu); i*=10)
{
printf("%d\t", num1%10);
num1 = num1/10;
}
printf("\n");

return 0;
}

/*
VC++ 6.0 运行结果

请输入一个不大于四位的数据:
1234
输入的数据是4位数据
1 2 3 4
4 3 2 1
Press any key to continue
*/