小白笔记 您所在的位置:网站首页 c语言阶乘函数GetFact子代码 小白笔记

小白笔记

2024-06-04 00:43| 来源: 网络整理| 查看: 265

由于变量的取值范围有限,因此计算阶乘这种大数值的时候很容易溢出,所以使用数组来存储每一位的数是比较好的办法。 目标:计算并打印N的阶乘 代码如下:

#include #define MAX 100000 void Print_Factorial(int N,int a[]); int main(void){ int n; int num[MAX]; //创建数组用于存储结果 scanf("%d",&n); Print_Factorial(n,num); return 0; } void Print_Factorial(int N,int a[]){ int i,j; int temp; int digit; // 数的位数(输出时需要) int carry; // 乘法运算的进位数 digit = 1; carry = 0; a[1] = 1; for(i = 2; i temp = a[j] * i + carry; a[j] = temp % 10; //更新当前位置的值 carry = temp / 10; //计算进位数 } while(carry){ //将多余的进位数继续写入数组 a[j] = carry % 10; //这里直接用j是由于for循环结束时还加了一次 carry = carry / 10; j++; } digit = j - 1; //实际位数比j少1 } //逆序输出结果 for(i = digit; i >=1 ; i--) printf("%d",a[i]); }

吼吼,如果有啥建议尽管提出来哈,小白来者不拒=-=



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有