法一(末尾没有0的)
#include <stdio.h>
int main()
{
int x;
int t = 0;
scanf("%d", &x);
do{
int d = x%10;
t = t*10 + d;
x /= 10;
}while ( x > 0 );
printf ( "x = %d, t = %d\n", x, t);
x = t;
do{
int d = x % 10;
printf("%d", d);
if( x > 9){
printf(" ");
}
x /=10;
}while ( x > 10 );
printf("\n");
return 0;
}
法二(不含有函数)
#include <stdio.h>
int main()
{
int x;
scanf("%d", &x);
int mask = 1;
int t = x;
while( t >9 ){
t /= 10;
mask *= 10;
}
printf("x = %d, mask =%d\n", x, mask);
do{
int d = x / mask;
printf("%d", d);
if ( mask > 9){
printf(" ");
}
x %=mask;
mask /= 10;
}while ( mask > 0 );
printf("\n");
return 0;
}
法三(含有函数,计算位数)
#include <stdio.h>
int main()
{
int x;
scanf("%d", &x);
int cnt = 0;
do{
x /= 10;
cnt++;
}while( x> 0 );
printf("cnt = %d\n", cnt);
int mask = pow(10, cn t- 1);
do{
int d = x / mask;
printf("%d", d);
if ( mask > 9){
printf(" ");
}
x %=mask;
mask /= 10;
}while ( mask > 0 );
printf("\n");
return 0;
}