求一个整形数组的最大元素

#include<stdio.h>

int max(int a[],int n)

{

int i,ret,temp;

ret = a[0];

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

{

if(a[i] > ret)

{

temp = a[i];

a[i] = ret;

ret = temp;

}

}

}

int main()

{

int a[5]={1,2,3,4,5};

printf("%d\n",max(a,5));

return 0;

}

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-01 07:07:07

求一个整形数组的最大元素的相关文章

求一个整数数组的最大元素,递归方法实现

Java版本: public class Main { public static void main(String[] args) { int[] array = {1, 3, 5, 6, 3, 5, 3, 8}; System.out.println(findMaxValue(array)); } private static int findMaxValue(int[] array) { if(array.length <= 0 || array == null) { return -1;

输入一个整形数组(可能有正数和负数),求数组中连续子数组(最少有一个元素)的最大和。要求时间复杂度为O(n)(解决)

输入一个整形数组(可能有正数和负数),求数组中连续子数组(最少有一个元素)的最大和.要求时间复杂度为O(n). 输入描述: [重要]第一行为数组的长度N(N>=1) 接下来N行,每行一个数,代表数组的N个元素 输出描述: 最大和的结果 输入例子1: 8 1 -2 3 10 -4 7 2 -5 输出例子1: 18 思路:对输入的数组进行计算, import java.util.Scanner; public class Main { public static void main(String[]

C语言 有一个整形数组a,有10个元素,要求输出数组中的全部元素

<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">有一个整形数组a,有10个元素,要求输出数组中的全部元素</span> 解题思路:引用数组中各元素的值有3种方法:1.下标法,如a[3];2.通过数组名计算数组元素的地址,找出元素的值 3.用指针变量指向数组元素. //用指针变量指向数组元素 #include <std

返回一个整形数组中最大子数组的和

一.要求: 1.要求程序能处理1000个元素 2.每个元素是int32类型的 3.输入一个整形数组,数组里有正数也有负数 4.数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和 5.求所有子数组的和的最大值.要求时间复杂度为O(n) 二.设计思想 从总左边(a[0])开始遍历整个数组,一直到最右边结束(a[n-1]),在这个过程中记录到目前为止最大的子数组和maxsofar.maxsofar初始化成0.假如我们已经找到a[0]到a[n-1]之间的最大子数组和,那么a[0]到a[i]之

一个整形数组中最大值求和问题

要求: 1.输入一个整形数组,数组里面有正数也有负数. 2.数组中国连续的一个或多个整数组成一个子数组,每个子数组都有一个和. 3.求所有子数组的和的最大值.要求时间复杂度为O(n). 当自己看到这个题目的时候,想到了“复杂的问题简单化,一步一步来”,然后在课上老师的引导之下有了自己实现这个功能的方法.最终自己用了两者方法实现功能,但是在第二种方法上花费的时间较多,几乎是第一种方法两倍的时间.下面将两种方法一一解释自己的思路. 一.时间复杂度O(n^2) 本次功能实现简单,一共分为3步,首先是实

求一个n阶方阵对角线元素之和

求一个n阶方阵对角线元素之和? public class shuixian { public static void main(String[] args) {  // TODO 自动生成的方法存根  int sum=0;  Scanner reader=new Scanner(System.in);  System.out.println("请输入方阵的阶数");  int n=reader.nextInt();  int[][] a=new int[n][n];  for(int

求一个整数数组的最大连续子数组的和

输入一个整数数组,数组里有正数也有负数. 数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和. 求所有子数组的和的最大值. int max(int a,int b) { if(a>b) { return a; } else { return b; } } int maxsum(int a[], int n) { int i; int maxsofar = 0; int maxendinghere = 0; for (i = 0; i < n; i++) { maxendingher

求一个环形数组最大子数组的和

假如我们输入一个一维的数组,数组中既有正数也有负数,而且这个数组首尾相接,就像一个圆圈.数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和.求所有子数组的和的最大值,如何用编程的语言实现?设计思想:1.首先定义一个数组与这个数组的长度,然后输入这个数组.2.再定义一个新的数组,此数组把第一个数组的数字存储后再存储一次(用for循环进行数组信息的存储),例子:如第一个数组为4 5 6 :则第二个数组为4 5 6 4 5 6 .3.再定义三个 int 类型的变量, nowsum(保存暂时

输入一个整形数组,元素有正有负,一个或者多个连续的元素为其子数组,求所有子数组中和的最大值

public class Zhejiang { public static void main(String[] args) { int[] arr=new int[] {1,-2,3,10,-4,7,2,-5}; int i=getGreatestSum(arr); System.out.println(i); } private static int getGreatestSum(int[] arr) { if (arr==null||arr.length==0) { return 0; }