首先用一个函数算出数的位数,然后一边除一边输出。
#include<stdio.h>
int f(int n)
{
int i=0;
while(n!=0)
{
n/=10;
i++;
}
return i;
}
int main()
{ int n;
int j;
int power=1;
scanf("%d",&n);
for(j=1;j<f(n);j++)
{
power*=10;
}
while(n!=0)
{
printf("%d ",n/power);
n%=power;
power/=10;
}
}
几个月后,再次看到这里,想到了另一种方法。
把数变成字符,事情就变得简单许多。
#include<stdio.h>
#include<iostream>
using namespace std;
int main()
{
int num,i;
scanf("%d",&num);
string s=to_string(num);
for(i=0;s[i];i++)
{
if(i!=0)
printf(" ");
printf("%c",s[i]);
}
}