如何将一个20位整数读到一个大小为20的数组中去

来源:百度知道 编辑:UC知道 时间:2024/06/04 12:22:59
如何将一个20位整数读到一个大小为20的数组中去,使得数组的每一位分别对应20位整数一位上的数
请解释一下
scanf("%20[0123456789]",c);
for (i = 0; c[i]; i++) a[i]=c[i]-48;
另外MS你这个只能输入20位,若输入的位数不够就囧了~

//---------------------------------------------------------------------------

#include <stdio.h>

void in(int a[20])
{
char c[21];
int i;
scanf("%20[0123456789]",c);
for (i = 0; c[i]; i++) a[i]=c[i]-48;
}
int main(void)
{
int i,num[20];

in(num); /*读取20位数字保存到num数组中*/

for (i = 0; i<20; i++) printf("%d",num[i]); /*输出num数组中的每一个元素,即20位数字*/

putchar('\n');
return 0;
}
//---------------------------------------------------------------------------

这个比较烦,做起来。
第一位用该整数除以10000000000000000000取整,得到的是数组的第一位;
第二位用该整数除以1000000000000000000取整,然后除以10取余,得到的是数组的第二位;
第三位用该整数除以100000000000000000取整,然后除以10取余,得到的是数组的第三位;
依此类推。

int a;
cin >>a;
int b[20];
b[0]=a%10;
b[1]=(a/10)/10;
^^
你把它写成一个递归函数就可以了。。我现在在上课所以没太多时间。。。

下面函数可以实现:
void fun(int a[],long m)
{int i;