【课堂练习】输出一个数组中的最大值并测试

设计思想

用函数封装求数组最大值的代码,主函数中调用函数实现功能。

源程序代码

#include <iostream>

using namespace std;

int Largest(int list[],int length)

{

int i;

int max=list[0];

for (i=0;i<length;i++)

{

if (list[i]>max)

{

max=list[i];

}

}

return max;

}

void main()

{

int i,Max;

int x[5];

cout<<"请输入一个数组:"<<endl;

for (i=0;i<5;i++)

{

cin>>x[i];

}

cout<<"数组的最大值为:"<<endl;

Max=Largest(x,5);

cout<<Max;

}

测试截图

测试截图

已发现的问题

1、输入浮点型数据时,默认使用浮点型的整数部分参与比较大小

2、输入字符型数据时,显示乱码,程序崩溃。

编程总结

程序测试十分重要,是一个不可缺少的过程,有利于发现程序员编程时没有考虑到的漏洞,是程序稳健性的保证!

时间: 2025-01-05 23:52:52

【课堂练习】输出一个数组中的最大值并测试的相关文章

C#获取一个数组中的最大值、最小值、平均值

C#获取一个数组中的最大值.最小值.平均值 1.给出一个数组 1 int[] array = new int[] { 1,2,4,3,0,-1,34,545,2,34}; 2.数组Array自带方法 本身是直接可以调用Min(),Max(),Average()方法来求出 最小值.最大值.平均值 1 Console.WriteLine("--------------Array自身方法-----------------"); 2 Console.WriteLine("Min:{0

输出一个数组中最大和的子数组并且和不溢出

组员 石鹤李海超 一.题目 输出一个数组中最大和的子数组,数组为int32型,有1000个数,保证最大子数组的和不溢出. 二.设计思想 随机产生一千个数的数组,求最大子数组和的过程中判断是否溢出,如果溢出,则输出溢出. 三.源代码 #include<iostream.h> long MAX(unsigned long arry[],int length) { unsigned long sum=arry[0]; unsigned long maxsum=arry[0]; for(int i=1

如何确定一个数组中的最大值

今天面试的一道题目是这样的,假设有一个数组,求出数组中的最大值,我使用的方法是: 1 var a = [3, 10, 5, 8, 12, 15]; 2 3 function compare(value1, value2) { 4 if (value1 > value2) { 5 return -1; 6 } else if (value1 < value2) { 7 return 1; 8 } else { 9 return 0; 10 } 11 } 12 a.sort(compare); 1

软件工程结队开发——输出一个数组中最大子数组的和

一.题目及要求 题目:返回一个整数数组中最大子数组的和. 要求: 输入一个整型数组,数组里有正数也有负数: 数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和: 求所有子数组的和的最大值.要求时间复杂度为O(n): 二.设计思路 程序分成两个部分: (1):找到数组中所有可能的子数组的和: 先从数组中第一个数开始算起,一直求到与它连续的的所有数的和存入数组son,然后从第二个数开始算起,求与它连续的数的和存入数组,以此类推,直至计算到最后一个数.有n个数据的数组能产生的子数组个数为n

写一个方法求数组中的最大值,最小值,总和以及平均值。

class Program { /// <summary> /// 求数组中的最大值,最小值,总和以及平均值. /// </summary> /// <param name="nums">输入一个数组</param> /// <returns>返回一个新的数组(max,min,sum,avg)</returns> public static int[] GetMaxMinSumAvg(int[] nums) { i

【c语言】输入一个递增排序的数组的一个旋转,输出旋转数组中的最小元素

//旋转数组的最小数字 //题目:把一个数组最開始的若干个元素搬到数组的末尾.我们称之为数组的旋转. //输入一个递增排序的数组的一个旋转.输出旋转数组中的最小元素. //比如:数组{3.4,5,1,2}为{1,2.3.4.5}的一个旋转,最小元素是1. #include <stdio.h> #include <assert.h> int min_equ(int *src, int left, int right) { int i = 0; int ret = src[left];

求解一个数组中连续元素最大值

第一种实现是以O(N3) 即以n的三次方实现的,这个算法很简单,想法特别明显 第二种以O(N2) 即以n的二次方实现,算法简单,但是仍然不够好 第三种 O(N*log(N)) ,以n乘以log(N),采取分治法解决问题,当然也采取了递归的思想. 第四种O(N),这个方法就无敌了,线性时间,如果数组是在磁盘或者磁带上面,只需要读取数组,不需要存储在内存上面(联机算法),此算法简洁高效,最理想的算法 5 int f1(int p[],int left,int right){ 6 int tmp; 7

定义一个含有30个整型元素的数组,按顺序分别赋予从2开始的偶数;然后按顺序每五个数求出一个平均值,放在另一个数组中并输出

<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></title> <script type="text/javascript"> //定义一个含有30个整型元素的数组,按顺序分别赋予从2开始的偶数:然后按顺序每五个数求出一个平均值,放在另一个数组中并输出. var arr = []; var NewArr = []

在主方法中定义一个大小为50的一维整型数组,数组i名为x,数组中存放着{1,3,5,…,99}输出这个数组中的所有元素,每输出十个换一行

package hanqi; import java.util.Scanner; public class Test7 { public static void main(String[] args) { //在主方法中定义一个大小为50的一维整型数组,数组i名为x,数组中存放着{1,3,5,…,99}输出这个数组中的所有元素,每输出十个换一行 int [] x=new int[50]; int a =1; for(int i=0;i<50;i++) { x[i]=a; a+=2; } for(