#include<stdio.h>
#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了。
相信你可以的。
追问就不对了啊
#include
#include
#define N 100
int main()
{
unsigned long long n=7936508;
unsigned long long target,status;
int k;
int ws;
unsigned long long num;
unsigned long long a[N];
int i;
for(; n <= 1844674407370955165; n++)
{
i = 0; //i没有初始化
target = n * 126;
a[i] = target % 10;
status = target / 10;
while(status != 0)
{
i++;
a[i] = status % 10;
status = status / 10;
}
printf("%I64d 是 %d位数\n",target,i + 1);
}
return 0;
}