差点写错,我本打算直接改,但是22222全改打印出来00000,然后我就想拿一个数组接收每一次的余数,然后从后往前每次*10加起来,这样就没问题了。
#include<stdio.h>
#include<string.h>
int main()
{
int n = 0;
scanf("%d",&n);
int arr[9] = {0};
int i = 0;
int sum = 0;
while(n)
{
if(n%2 == 0)
{
arr[i] = 0;
i++;
n/=10;
}
else
{
arr[i] = 1;
i++;
n/=10;
}
}
for(int j = i-1;j>=0;j--)
{
sum = sum*10+arr[j];
}
printf("%d\n",sum);
return 0;
}