【编程例题】详解经典例题:用C语言实现100的阶乘!

您所在的位置:网站首页 100的阶乘有多少个正约数 【编程例题】详解经典例题:用C语言实现100的阶乘!

【编程例题】详解经典例题:用C语言实现100的阶乘!

2024-07-07 18:12| 来源: 网络整理| 查看: 265

  ↵

        很多刚学编程的小伙伴们一拿到这道题是都觉得很简单,心想:这不就是循环嘛,goto跳转也能做嘛,很简单的嘛。当程序写出来跑测试的时候,大多数小伙伴都傻掉了,为什么结果会是0呢?

 

        其实,这是大家忽略了一个重要的问题,计算机中数据是如何存储的?

        我们都知道,为了方便存储与运算,C语言中将数据类型分为整型的char,short,int,long ,long long ,和浮点类型的float,double 和long double。他们各自的字节数,不多说,直接放图对比。

 

        我们能很清楚的看到,即使最长的long long 型变量,也只能存储20位数,而100的阶乘早已远远超过了20位数,这便是出现答案等于0的罪魁祸首。

        我们的解决方法是,采用数组来存储每一位数,再逐次相乘,产生进位时用变量carrylai记录进位数。

代码如下:

#include int main() { char rets[256] = {1}; int cnt = 1; for(int i = 2;i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3