首页 > 其他分享 >找数组的最大值并与第一位交换

找数组的最大值并与第一位交换

时间:2022-11-14 20:34:52浏览次数:72  
标签:第一位 int max 最大值 maxX 数组 sizeof

#include <stdio.h>
int main()
{
	//定义
	int a[5] = {7, 8, 4, 1, 5};
	int *p; 
	int i;
	int max;
	max = a[0];
	int maxTemp;
	int maxX;
	int min;
	min = a[0];
	int minTemp;
	int minX;
	int length = sizeof(a) / sizeof(int);

	//输出数组 
	for(p=a; p<a+length; p++){
		printf("%-4d", *p);
	}
	printf("\n");
	
	//找到最值及下标
	for(i=0; i<length; i++){
		if(a[i]>max){
			max = a[i];
			maxX = i;
		}	
		if(a[i]<min){
			min = a[i];
			minX = i;
		}
	}
	maxTemp = a[0];
	a[0] = a[maxX];
	a[maxX] = maxTemp; 
	
	minTemp = a[length-1];
	a[length-1] = a[minX];
	a[minX] = minTemp;
	
	//输出数组 
	for(p=a; p<a+length; p++){
		printf("%-4d", *p);
	}
	printf("\n");
	return 0;
} 

学习到:

  1. 思路:

    从数组中找到最大值的下标,然后将最大值与第一位元素交换

  2. 从数组中找到最大值代码

    int max;
    int a[] = {1,234 ,5535};
    max = a[0];
    for(i=0; i<length; i++){
        if(a[i]>max){
            max = a[i];//此时最大值的下标是i
        }
    }
    
  3. 用指针输出数组代码

    int a[5];
    int *p;
    
    for(p = a; p<a+5; p++){
        printf("%d\n", *p);
    }
    

标签:第一位,int,max,最大值,maxX,数组,sizeof
From: https://www.cnblogs.com/97rong/p/16890311.html

相关文章

  • Numpy数组的保存与读取
    Numpy数组的保存与读取1.数组以二进制格式保存np.save和np.load是读写磁盘数组数据的两个主要函数。默认情况下,数组以未压缩的原始二进制格式保存在扩展名为npy的文件中......
  • 102. 二叉树的层序遍历 ------ BFS广度优先遍历、二维数组、队列
    给你二叉树的根节点root,返回其节点值的层序遍历。(即逐层地,从左到右访问所有节点)。 示例1:  输入:root=[3,9,20,null,null,15,7]输出:[[3],[9,20],[15,7]]示......
  • 239.滑动窗口最大值
    给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。返回 滑......
  • letcode算法--19.最大子数组和
    给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。子数组 是数组中的一个连续部分。方法一:动态规划classSolution......
  • 块状数组
    基于分块思想,常用的有数列分块,之间分块,以及值域分块把一个数组分为几个块,块内信息整体保存,两边散块进行暴力首先进行分块 intlen=sqrt(n);/*选择块长,也可以手动调节*/......
  • 805. 数组的均值分割
    805.数组的均值分割给定你一个整数数组 nums我们要将 nums 数组中的每个元素移动到 A 数组或者 B 数组中,使得 A 数组和 B 数组不为空,并且 average(A)==a......
  • 数组操作索引得结果
    publicclassDemo1{publicstaticvoidmain(String[]args){Scannerscanner=newScanner(System.in);System.out.println("学生人数:");......
  • 数组:输入学生成绩;判断最值,成绩和
    publicclassDemo1{publicstaticvoidmain(String[]args){Scannerinput=newScanner(System.in);/*System.out.println("输入学生人数:")......
  • 319场周赛 最小公倍数为K的子数组的数目
    #319场周赛最小公倍数为K的子数组的数目给你一个整数数组nums和一个整数k,请你统计并返回nums的子数组中满足元素最小公倍数为k的子数组数目。子数组是数组......
  • 删除数组里的a
    publicstaticvoidmain(String[]args){//删除数组里面的所有a//数组元素都是连贯的//数组空间是不变的String[]strArray={"a","b","a","a","d"......