第一种:
#include <stdio.h>
int main()
{
int zheng,i;
int m=0;
int yu[10];
int count=0;
scanf("%d",&m);
zheng=m;
for(i=0;i<10;i++)
if (zheng!=0)
{
yu[i]=zheng%10;
zheng=zheng/10;
count++;
}
for(i=0;i<count;i++)
{
printf("%d ",yu[i]);
}
return 0;
}
第二种:
#include <stdio.h>
int main()
{
int num = 0;
int i = 0;
int arr[10];
int left = 0;
int right = 0;
int j = 0;
scanf("%d", &num);
while (num)
{
arr[i] = num % 10;
num = num / 10;
i++;
}
//将arr[4]里面的元素逆序
right = i - 1;
while (left < right)
{
int tmp = arr[left];
arr[left] = arr[right];
arr[right] = tmp;
left++;
right--;
}
//输出
for (j = 0; j < i; j++)
{
printf("%d ", arr[j]);
}
printf("\n");
return 0;
}
第三种:采用递归
#include <stdio.h>
void print(int num)//递归
{
if (num >= 10)
print(num / 10);
printf("%d ", num % 10);
}
int main()
{
int num = 10;
scanf("%d", &num);
print(num);
return 0;
}
从易出错的递归例子看递归——链接 http://c.biancheng.net/cpp/html/487.html
如果函数内部一个语句调用了函数自己,则称这个函数是“递归”。递归是以自身定义的过程。也可称为“循环定义”。
本文出自 “阳光下的向日葵” 博客,请务必保留此出处http://10796797.blog.51cto.com/10786797/1706972
原文:http://10796797.blog.51cto.com/10786797/1706972