zoukankan      html  css  js  c++  java
  • 作业2

    开发工具:visual c++

    第一版本程序Prog1:

    + 给定一个数组,实现数组元素求和;,具体要求:实现对一维数组(a[100])的所有元素相加运算。
    + 数据准备:a)数组长度:100;b)数组数据来源:实验数据A列:1~100.

    分析:第一个程序的实现较为简单,创建一个大小为100的静态数组即可。但是100个数据倘若一个一个键入则是一个不小的工程,所以我在想能不能直接从文件中调用。通过百度和查阅C++书本,我把老师提供的EXCEL文档中的A列数据复制到记事本中另存,通过直接调用.txt中的数据,简化了程序。

    prog1源程序:

    运行结果:

    运行结果,前100个实数求和结果正确。

    第二版本程序Prog2:

    + 改写成一个函数(函数名称为ArraySum),能实现任意长度数组所有元素求和;
    + 数据准备:a)数组长度:任意; b)数组数据来源:实验数据A列.

    分析:此程序不限定数组长度,所以得设置一个动态数组,并且申请动态内存,根据用户确定的实数个数进行数组求和。

    源程序:

    运行结果:

    (1)取n=100

    (2)取n=10

    (3)取n=50

    分别测试了3组数据,结果均正确。

    第三版本程序Prog3:

    + 将Prog2改写成能从文件中读取数据,实现任意长度数组,指定范围内元素相加。

    + 数据准备:a)数组长度:任意; b)数组数据来源:从文件中读取.

    分析:在prog2的基础上添加一个数据范围的限制,用户设定指定范围的最小值和最大值即可。

    源程序:

    运行结果:

    取n=100

    (1)范围:-10000~10000

               

    (2)范围:0~1000

         

    n的取值相同时,指定范围不同,求和结果不同。

    小结:

    一个程序可以有多个衍生,我们平时在编写程序的过程中也应该多角度考虑问题,让一个简单的程序衍生出一系列程序。

    我的Github链接:https://github.com/yangyangji

  • 相关阅读:
    iOS 基础类解析
    冒泡排序Vs直接选择排序
    【HDOJ 5419】 Victor and Toys (排列组合)
    我的互联网安全观
    Linux进程间通信-信号量
    AFNetworking 3.0携带參数上传文件Demo
    ANDROID窗体管理服务实现机制和架构分析
    【ODPS】阿里云ODPS中带分区的表操作
    Android自定义组件系列【13】——Android自定义对话框如此简单
    微信支付开发(2) 静态链接Native支付
  • 原文地址:https://www.cnblogs.com/yangyangji/p/5248512.html
Copyright © 2011-2022 走看看