首页 > 其他分享 >软件工程

软件工程

时间:2024-04-10 21:22:05浏览次数:25  
标签:arr int max sum 软件工程 Max include

代码如下:

include <stdio.h>

include <stdlib.h>

int main()
{
int* arr;
int N = 0, input = 0, i = 0;
int sum = 0, max = 0;
scanf_s("%d", &N);
arr = (int*)malloc(sizeof(int) * N);
int minus = 0;
//对数组进行赋初值,并且记录负数个数
for (i = 0; i < N; i++)
{
scanf_s("%d", &input);
arr[i] = input;
if (input < 0)
{
minus++;
}
}
//如果全为负数,直接输出0,并结束程序
if (minus == N)
{
printf("0");
return 0;
}
//对最大子数组进行求解
max = arr[1];
for (i = 0; i < N; i++)
{
sum = sum + arr[i];
if (sum > max)
{
max = sum;
}
if (sum < 0)
{
sum = 0;
}
}
printf("%d", max);
return 0;
}
测试代码如下:

include "stdafx.h"

include "CppUnitTest.h"

include "..\Max\标头.h"

using namespace Microsoft::VisualStudio::CppUnitTestFramework;

namespace UnitTest1
{
TEST_CLASS(UnitTest1)
{

public:

    TEST_METHOD(TestMethod1)
    {
        int arr[6] = { -2,11,-4,13,-5,-2 }, max;
        max = Max(arr, 6);
        Assert::AreEqual(max, 20);
    }
    TEST_METHOD(TestMethod2)
    {

int arr[5] = { -1,2,3,-6,7 }, max;
max = Max(arr, 5);
Assert::AreEqual(max, 7);
}

    TEST_METHOD(TestMethod3)
    {
        int arr[6] = { -2,-11,-4,-13,-5,-2 }, max;
        max = Max(arr, 6);

Assert::AreEqual(max, 0);
}

    TEST_METHOD(TestMethod4)
    {
        int  arr[6] = { 1,2,3,4,5,6 }, max;

max = Max(arr, 6);
Assert::AreEqual(max, 21);
}
};
}
四、总结:
通过这次实验,我了解判定/条件的测试方法,同时进行了大量实验。认真研究明白了子数组最大和的求法。并且已经可以熟练进行代码测试,对测试的思想以及测试工具都有了更深一步的掌握。我会在日后学习中多使用这个方法,为以后做准备。

标签:arr,int,max,sum,软件工程,Max,include
From: https://www.cnblogs.com/zhnagchao/p/18127484

相关文章

  • 软件工程
    最大连续子数代码;include<stdio.h>intmaxSubarraySum(intarr[],intn){intmax_sum=INT_MIN,cur_sum=0;for(inti=0;i<n;i++){cur_sum=std::max(arr[i],cur_sum+arr[i]);max_sum=std::max(max_sum,cur_sum);}returnmax_sum;}intmain(......
  • 软件工程2
    作业信息 沈阳航空航天大学计算机学院2024软件工程作业课程目标 熟悉一个“高质量”软件的开发过程作业目标 单元测试练习请在作业最后部分填写如下表格记录本次工作详细信息项目 记录结果日期 2024年4月10日开始时间 2024年4月10日19:00结束时间 2024年4月10日19:45结束......
  • 软件工程2-单元测试
    本次测试选择条件/判定覆盖,旨在设计足够的测试用例,使得判断中每个条件的所有可能取值至少执行一次,同时每个判断本身所有可能结果也至少执行一次。下面是几组测试用例对于条件/判定覆盖的构造方法:1.单个0的测试用例(deal0):输入数据:只有一个元素,值为0。预期结果:最大子数组和应该为0......
  • 长春一汽模具——软件工程师
    工作职责1、设计构建基于神经网络的机器人控制系统软件架构【主要针对双足或多足机器人】;2、完成不同神经网络模型的实现与优化,并将其应用于机器人模型的仿真与运动控制;3、辅助完成机器学习系统的仿真环境搭建、模型运动控制参数训练、实际样机的控制算法测试等工作;4、追踪人......
  • lambda演算入门 (软件工程与计算 理论部分2)20240406
    此文章来源于网络,是学习lambda演算过程的总结与复习,着重于探讨“为什么(Why)”与“怎么做(How)”,也希望能对看到它的人学习了解这个形式系统有些微帮助。由于之前看了不少wiki、tutorial、introduction之流,绝大多数读过之后仅知其然而不知其所以然,我不知道为什么它们都不解释为什......
  • 大一下 软件工程与计算 20240406
    1.科里化deflambda_curry2(func):"""ReturnsaCurriedversionofatwo-argumentfunctionFUNC."""returnlambdax:lambday:func(x,y)这段代码定义了一个名为lambda_curry2的函数,它接受一个有两个参数的函数func作为输入,并返回一个新的函数。这个返回的函数实......
  • 【软考---系统架构设计师】软件工程
    目录一、软件开发模型(1)瀑布模型(2)原型模型(3)螺旋模型(4)V模型(5)构件组装模型(6)迭代模型(7)增量模型(8)快速应用开发模型(RAD)(9)统一过程(UP/RUP)(10)敏捷方法二、软件开发方法三、需求工程(1)需求获取(2)需求分析(3)需求定义四、软件系统建模(1)人机界面设计 (2)结构化设计   ......
  • 软件工程日报018
     第18天第二天第三天第四天第五天所花时间(包括上课) 6h    代码量(行) 900    博客园(篇) 2    所学知识 ACGit    ......
  • 国内首款AI音乐生成大模型「天工SkyMusic」并开启免费邀测;SWE-agent 修复GitHub仓库中
    ✨1:天工SkyMusic昆仑万维推出国内首款AI音乐生成大模型「天工SkyMusic」并开启免费邀测天工SkyMusic是由昆仑万维集团开发的一款AI音乐生成工具,它基于先进的「天工3.0」超级大模型构建,代表了目前国内唯一公开可用的AI音乐生成大模型。这款工具专为那些想要借助人工......
  • 【软件工程】需求分析
    1.导言1.1.需求文档的目的该文档是关于用户对于“学生成绩管理系统”的功能和性能的要求,重点描述了“学生成绩管理系统”的设计需求,将作为对该工具在概要设计阶段的设计输入。编写本文档的目的在于说明软件工程管理系统的业务需求内容,包括功能需求及非功能需求,并为系统......