运算测试

一、设计思想:

首先要随机生成一定的随机数,然后通过对数组赋值,再求出子数组之和,比较哪个数组之和最大,如果为负值即取消赋值,在这个基础之上,重新算出最大子数组之和,最后输出最大和以及最大子数组。

二、源代码:

#include<iostream>
#include<ctime>
#include<stdlib.h>
using namespace std;

void main()
{

        int begin=0; //子序列的开头
        int end=0; //子序列的结尾
        int newsum=0; //当前子序列最大值
        srand((unsigned)time(NULL)); //生成随机数
        int a[10000], n;

        cout << "请输入数组里面包含数的个数:" << endl;
        cin >> n;
        for (int i = 0; i < n; i++)
        {
             a[i] = rand() % 100-50;
         } // 随机生成100以内的数组的值

       int maxsum=a[0];

       cout << "数组a[" << n << "]为:";
       for (int i = 0; i < n; i++)
       {
           cout << a[i] << " ";
       }
       cout << endl;

       for (int i = 0; i<n; i++)//开始循环求子序列和
      {
          newsum = newsum + a[i];
          if (newsum > maxsum)//更新当前子序列的和
          {
              maxsum = newsum;
              end = i;
          }
         if (newsum < 0)//假若当前子序列和为负,则舍弃
         {
             begin = i + 1;
             newsum = 0;

          }

      }

      cout << "最大的子序列和为:" << maxsum << endl;

      cout << "最大的序列为:";

      for (int k = begin; k <= end; k++)
      {
          cout << a[k] << " ";
       }
      cout << endl;

}

三、出现的问题:

这次的实验代码跟上次的一样,只是测试数据的时候出现了些许问题。

四、实验截图:

五、实验总结:通过这次的跟同学合组完成的实验,也促使我完成了这一阶段,跟同学之间好好配合很重要,我跟刘伯建一块完成的这项实验同时也有一定的乐趣。下面是我跟他的合照

时间: 2024-10-23 20:34:42

运算测试的相关文章

linux基础之shell编程(2)-条件判断,算数运算,测试

bash中如果实现条件判断? 条件测试类型 整数测试 字符测试 文件测试 条件测试的表达式 有三种 [ expression ] --方括号与表达式之间一定要有一个空格 [[ expression ]] test expression 整数测试 -eq: 测试两个整数是否相等 例:$A -eq $B -ne: 测试两个整数是否不等 不等为真,相等为假 -gt: 测试一个数是否大于另一个数:大于,为真:否则,为假: -lt: 测试一个数是否小于另一个数:小于,为真:否则,为假: -ge: 大于或等

bash之运算、测试、if语句及for循环语句

一.逻辑运算 布尔运算:真.假 与运算: 真 && 真 = 真 真 && 假 = 假 假 && 真 = 假 假 && 假 = 假 或运算: 真 || 真 = 真 真 || 假 = 真 假 || 真 = 真 假 || 假 = 假 非运算: 非真 = 假 非假 = 真 二.状态返回值 echo $? 成功:则返回0 失败:则返回1-255,失败不等于假 自定义:exit [n] 三.算数运算 1.定义整形变量 let VAR_NAME=INTEG

第三个Sprint完结工作 用场景来规划测试工作.

一.根据用户使用场景测试: 1.流程 典型群体 群体 张小明 年龄 7-12岁 职业 小学生 收入 压岁钱还有零花钱 能力 看一些简单的数,做一些相对简单的事 爱好 玩游戏 典型场景 张小明平时喜欢玩游戏,数学四则运算掌握得不透彻,想加强四则运算的能力. 典型描述 原因是四则运算难度不符合自己. 代表用户在市场上的比例和重要性 70%到80% 使用本软件的环境 家长的手机 用户动机.目的和困难 学习知识 典型用户: 姓名 张小明 性别 男 年龄 9岁 职业 小学生 收入 压岁钱还有零花钱 能力

2015430 加法阶段一的封装测试

public class fdgfg { Vector<Expression> v; public fdgfg() { v = new Vector<Expression>(); } public void produceExpression(int bit,char operator) { Expression temp = new Expression(); temp.operator = operator; temp.a = (int)(Math.random() * Mat

Hive的运算和函数大全

hive 常用运算 测试各种内置函数的快捷方法: 创建一个 dual 表 create table dual(id string); load 一个文件(只有一行内容:内容为一个空格)到 dual 表 第一部分:关系运算 Hive支持的关系运算符 ?常见的关系运算符 ?等值比较: = ?不等值比较: <> ?小于比较: < ?小于等于比较: <= ?大于比较: > ?大于等于比较: >= ?空值判断: IS NULL ?非空判断: IS NOT NULL ?LIKE比较

python协程--asyncio模块(基础并发测试)

在高并发的场景下,python提供了一个多线程的模块threading,但似乎这个模块并不近人如意,原因在于cpython本身的全局解析锁(GIL)问题,在一段时间片内实际上的执行是单线程的.同时还存在着资源争夺的问题.python3.4之后引入了基于生成器对象的协程概念.也就是asyncio模块.除了asyncio模块,python在高并发这一问题还提出了另外一些解决方案,例如tornado和gevent都实现了类似的功能.由此,在方案选择上提供了更多的可能性.以下是threading模块和a

算术运算测试

算数运算测试 一.团队介绍 学号 班级 姓名 任务分配 博客地址 201721123063 网络工程1713 张馨玙 编码规范,UML类图,界面设计,git 201721123067 网络工程1713 谢雅雯 博客制作,界面设计,功能设计,git 二.项目git地址 https://gitee.com/zhangxinyudaxin/Arithmetic-operation-test.git 三. 项目git提交记录截图 四.项目简介 程序用字符界面实现十道100以内加减法数学题,能根据题目计算

#6 Python数据类型及运算

前言 前文讲述了Python的输入输出以及变量的相关知识点,本节将探讨Python的数据类型以及数据之间的运算方式! 一.Python数据类型 上一节弄清了变量,其实变量所指向的值是有自己独特的数据类型的,这些数据类型可能代表不同的数据,在Python中,主要有以下几种数据类型: 整形(int) 在计算机中,整数的位数其实是有范围的,并没有我们想象的那样拥有无限的位数,而且,在不同的机器上整数的位数可能不同,例如: 32位系统:整数的位数就是32位,寻址范围为:-231  ~  231-1 ,即

Python的数据类型和运算

一.Python数据类型 变量所指向的值是有自己独特的数据类型的,这些数据类型可能代表不同的数据,在Python中,主要有以下几种数据类型: 整形(int) 在计算机中,整数的位数其实是有范围的,并没有我们想象的那样拥有无限的位数,而且,在不同的机器上整数的位数可能不同,例如: 32位系统:整数的位数就是32位,寻址范围为:-231 ~ 231-1 ,即-2147483648 ~ 2147483647 64位系统:整数的位数就是64位,寻址范围为:-263 ~ 263-1 ,即-92233720