c语言的题目,大家帮帮忙,最后按照高位到低位顺序输出每一位数字的值

从键盘上输入任意一个正整数并存入到一个整形变量中,然后把每一位数字分离出来并存入一个整形数组中,最后按照高位到低位顺序输出每一位数字的值

刚帮人做
#include<stdio.h>
void main()
{
int n,a[20],i,len=0;
printf("请输入一个整数:");
scanf("%d",&n);
while(n)
{
a[len++]=n%10;
n/=10;
}
for(i=len-1;i>=0;--i)
printf("%d ",a[i]);
printf("\n");
}追问

测试过了?

追答

嗯,是的,测试正确

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-07-04
#include<stdio.h>
#define N 10
int GetNumber(int *, int);
int main(void)
{
 int arr[N], count, num, i;
 scanf("%d", &num);
 count = GetNumber(arr, num);
 for(i = 0; i < count; i++)
  printf("%d", arr[i]);
 putchar('\n');
}
int GetNumber(int *arr, int num)
{
 int count = 0, i, tmp;
 while(num)
 {
  arr[count++] = num % 10;
  num /= 10;
 }
 for(i = 0; i < count / 2 ; i++)
 {
  tmp = arr[i];
  arr[i] = arr[count - i - 1];
  arr[count - i - 1] = tmp;
 }
 return count;
}

追问

测试过了吗?

追答