c语言中实现将一个不确定位数的整数按个十百……位分离,后存入一个数组

2025-06-27 03:24:12
推荐回答(1个)
回答1:

#include

#define N 100

int main()

{

  int a[N];

  long b,i = 0,j,status;

  scanf("%d",&b);

  a[i] = b % 10;

  status = b / 10;

  while(status != 0)

  {

  i++;

  a[i] = status % 10;

  status = status / 10; 

  }

  printf("%d\n",i + 1);

  for(j = 0; j <= i; j++)

  printf("%d  ",a[j]);

  printf("\n");

  for(j = i;j >= 0; j--)

  printf("%d",a[j]);

  printf("\n");

  return 0;

}


一般使用的数据都不会超过100位,就算是long型或者是long long型都不会,所以就随便选100了。

如果你想使用c99标准里的变长数组,这个我就不在此赘述了,请你百度一下。

另外,还有一种方法是,把数字当做是字符串输入,然后进行类似处理就ok了。

相信你可以的。