**方法1 // 无论末尾是不是0,都可以做 整数分解**
#include "stdio.h"
#include <stdlib.h>
#include <time.h>
int main()
{
int x,remainder,ret;
scanf("%d",&x);
int cnt = 0 , factor = 1,t,quo;
t = x;
// 统计x是几位数
do
{
t = t/10;
cnt++;
factor = factor*10;
} while (t != 0);
do
{
quo = x/(factor/10);
printf("%d ",quo);
x = x%(factor/10);
factor = factor/10;
} while (factor >= 10);
return 0;
}
**方法2// 适用于末尾不是0的 整数分解**
#include "stdio.h"
#include <stdlib.h>
#include <time.h>
int main()
{
int x,remainder,ret;
scanf("%d",&x);
do
{
remainder = x%10;
x = x/10;
ret = ret*10 + remainder;
} while (x != 0);
printf("逆序数为%d\n",ret);
do
{
remainder = ret%10;
ret = ret/10;
printf("%d ",remainder);
} while (ret != 0);
return 0;
}
整数分解(方法1各种整数分解均适用,方法2不能用于末尾为0的数)
于 2023-04-04 17:54:31 首次发布