c语言高精度算法阶乘_【自学C语言】书笔记 02 算法

本文探讨了计算机程序的定义,指出算法是其灵魂。通过举例讲解了如何用C语言实现阶乘的算法,强调算法的有穷性、确切性、输入输出等特征。还介绍了算法的概念,特征,以及表示形式如自然语言、流程图和伪代码,并通过实例展示了这些表示方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

56293a670b4b42f478ecee439c3e5d10.png

一、前言

    什么是计算机程序?计算机程序与算法是什么样的关系?

    有人这样给计算机程序进行定义:

        计算机程序是一个指令的集合;

        计算机程序是一个问题的解决方案;

        计算机程序是一个产品;

        计算机程序是数据结构加算法。

    从程序内部组成来说,计算机程序是一个指令集合。

    编写程序的过程是写指令集的过程,它能过告诉计算机怎样实现特定的功能。

    而指令集是用计算机能够理解的语言编写的,因为计算机无法读懂人类的语言。

    计算机程序是一个问题的解决方案,主要包括:找出问题,理解问题,找出解决问题的备选方案,找出最佳方案,使用选择的方案,列出帮助解决问题的指令,评估解决方案多个步骤。

    例:

    求1+2+3+……+10的和的解决方案如下。

    1)找出问题:

        求1~10的和。

    2)理解问题:

        求1~10的自然数的和。

    3)列出备选方案。

        备选一:

            将各项依次相加求和。

        备选二:

            凑10法求和。

        备选三:

            等差数列求和。

        备选四:

            逆序求和。

    4)选择最佳方案。

        备选一:

            适合计算机运算,寻找规律,不难发现可以采用循环累加的办法,而且每次的加数都比前一个数多一。

        备选二:

            适合口算,如果求1~10000自然数的和,这种算法就不太适合了。存在着一定的局限性。

        备选三:

            不符合人们的运算规律。

        所以,备选一为最佳方案。

    5)C语言代码(指令)如下:

#includevoid main() {
      int i, s = 0;  for (i = 1; i <= 10; i++) {
        s += i;  }  printf("s=%d\n", s);}

分析:

    首先是载入头文件。

    然后是主函数。

    先定义一个变量i,用于循环计数;再定义一个变量s,用于保存相加的结果。

    然后通过for循环进行重复相加。

    最后通过输出语句进行输出。

运行结果:

ab6f973648402ae7a67632fea01f688a.png

    6)评估方案

        通过运行程序,发现该方案具有通用性。

        如果求200~500的和,只需要将for (i = 1; i <= 10; i++)改成for (i = 200; i <= 500; i++)即可。

        计算机程序包括对数据的描述和对操作的描述。

        前者为数据结构,包括数据类型与数据的组织形式;后者为算法,即操作步骤,主要解决“做什么”和“

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值