编程计算一个大数(如40)的阶乘,将结果保存在一个大小为50的整数数组中,每一个数组元素存储大数中的一个数字。
/* c6-17.c */#include<stdio.h>
int main()
{
int i, j = 1, k=1,t;
int len = 0;
int a[50];
for (i = 2;i <= 10;i++)
j = j * i;
for (i = 0;k == 0;i++)
{
t = j % 10;
a[i] = t;
k = j / 10;
t = k;
len = len + 1;
}
for(i=len;i>=1;i--)
printf("%d", a[i]);
return 0;
}
因为还没有学字符串相关的函数,所以不让用,觉得用字符数组会方便点,但是没搞懂怎么把数字储存到字符数组里。
这是我自己写的代码,运行什么都没有输出,我的想法是把每个数字先倒序输出然后储存位数,最后再从最后以为开始输出这样就能正序输出最终结果。
求大神指点,不用我的这个逻辑也可以,感谢!!!