精华内容
下载资源
问答
  • 数组中找到第二最大值是一个经典的C语言数组程序。 该程序可以让您了解迭代,数组和条件运算符。 我们迭代地检查数组的每个元素并找到第二最大值。 参见下面程序。实现实现计算数组元素的第二最大值代码如下 ...

    在数组中找到第二最大值是一个经典的C语言数组程序。 该程序可以让您了解迭代,数组和条件运算符。 我们迭代地检查数组的每个元素并找到第二最大值。 参见下面的程序。

    实现

    实现计算数组元素的第二最大值的代码如下 –

    #include int main() { int array[10] = {101, 11, 3, 4, 50, 69, 7, 8, 9, 0}; int loop, largest, second; if(array[0] > array[1]) { largest = array[0]; second = array[1]; }else { largest = array[1]; second = array[0]; } for(loop = 2; loop < 10; loop++) { if( largest < array[loop] ) { second = largest; largest = array[loop]; }else if( second < array[loop] ) { second = array[loop]; } } printf("Largest = %d nSecond = %d n", largest, second); return 0; }

    执行上面示例代码,得到以下结果 –

    Largest = 101 Second = 69

    ¥ 我要打赏 纠错/补充 收藏

    展开全文
  • C语言编程】求数组第二大的数

    千次阅读 2020-09-04 20:38:17
    #define P 5//数组元素个数 int main() { int i,max1,max2=0;//定义一个最大值和一个最小值 int tab[P];//定义一个数组 for(i=0;i<P;i++)//输入数组的元素 scanf("%d",&tab[i]); max1=tab[0];//...

    一、方法一

    #include <stdio.h>
    #define P 5//数组元素的个数
    
    int main()
    {
    	int i,max1,max2=0;//定义一个最大值和一个最小值
    	int tab[P];//定义一个数组
    
    	for(i=0;i<P;i++)//输入数组的元素
    	scanf("%d",&tab[i]);
    
    	max1=tab[0];//初始化:将数组中的元素值赋给最大值
    
    	for(i=0;i<P;i++)//遍历数组中的元素
    	{
    		//条件判断:这个元素有四种情况
    		//1、等于最大值:抛弃
    		//2、大于最大值(max1):先把以前的最大值赋值给第二大的,然后把这个元素赋值给max1
    		//3、小于最大值但是大于 第二大的值:把这个值赋给第二大的值
    		//4、小于最大值和第二大的值:抛弃
    		if(max1<=tab[i])
    		{
    			if(max1==tab[i]continue;
    			
    			max2=max1;
    			max1=tab[i];
    		}
    		else if(max2<=tab[i])
    		{
    			max2=tab[i];
    		}
    	}
    	printf("最大值:%d\n最小值:%d\n",max1,max2);
    	return 0;
    }
    

    二、方法二

    #include <stdio.h>
    #define P 5//数组元素的个数
    
    int main()
    {
    	int i,j,tab[P];
    
    	for(i=0;i<P;i++)
    	scanf("%d",&tab[i]);
    		
    	for(i=0;i<2;i++)//交换两次,把最大值和第二大值放到最后两个
    	{
    		for(j=0;j<(P-1-i);j++)
    		{
    			if(tab[j]>tab[j+1])
    			{
    				//异或交换两个元素的值
    				tab[j]^=tab[j+1];
    				tab[j+1]^=tab[j];
    				tab[j]^=tab[j+1];
    			}
    		}
    	}
    	printf("%d\n",tab[P-2]);//输出倒数第二个元素的值,就是第二大值
    
    	return 0;
    }
    
    展开全文
  • C语言基础7章多维数组7.2 数组及多维数组二数组的定义定义方式: 数据类型 数组名[常量表达式][常量表达式];;数组理解;数组元素引用形式: 数组名[下标][下标]数组元素初始化分行初始化...

    C语言基础第7章多维数组

    7.2 二维数组及多维数组二维数组的定义定义方式:  数据类型 数组名[常量表达式][常量表达式];;二维数组理解;二维数组元素的引用形式: 数组名[下标][下标]二维数组元素的初始化分行初始化:;程序举例;例 求二维数组中最大元素值及其行列号;例 读入下表中值到数组,分别求各行、各列及表中所有数之和;7.3 字符数组和字符串字符数组定义 ; 例 char diamond[][5]={{'.', '.','*'},{'.','*','.','*'}, {'*', '.', '.', '.' ,'*'},{'.','*', '.','*'},{'.', '.','*'}};

    ;例 输出一个字符串;字符串字符串及其结束标志无字符串变量,用字符数组处理字符串字符串结束标志:‘\0’;字符串的输入输出逐个字符I/O: %c整个字符串I/O: %s;例 main( ) { char a[5]={‘H’,’e’,’l’,’l’,’o’}; printf(“%s”,a); };main(){ char a[]={'h','e','l','\0','l','o','\0'}; printf("%s",a);};main(){ int i; char a[5]; scanf("%s",a); for(i=0;i<5;i++) printf("%d,",a[i]);};例 字符串输入举例;例 若准备将字符串“This is a string.”记录下来,错误的输入语句为:(A)scanf(“%20s”,s);(B)for(k=0;k<17;k++) s[k]=getchar();(C)while((c=getchar())!=‘\n’) s[k++]=c;;常用的字符串处理函数包含在头文件 string.h;字符串连接函数strcat格式:strcat(字符数组1,字符数组2)功能:把字符数组2连到字符数组1后面返值:返回字符数组1的首地址说明:?字符数组1必须足够大 ?连接前,两串均以‘\0’结束;连接后,串1的‘\0’取消, 新串最后加‘\0’;例 strcpy与strcat举例;字符串比较函数strcmp格式:strcmp(字符串1,字符串2)功能:比较两个字符串比较规则:对两串从左向右逐个字符比较(ASCII码), 直到遇到不同字符或‘\0’为止返值:返回int型整数,a. 若字符串1< 字符串2, 返回负整数 b. 若字符串1> 字符串2, 返回正整数 c. 若字符串1== 字符串2, 返回零说明:字符串比较不能用“==”,必须用strcmp;#include #include main(){ char str1[] = ”Hello!", str2[] = ”How are you?”,str[20]; int len1,len2,len3; len1=strlen(str1); len2=strlen(str2); if(strcmp(str1, str2)>0) { strcpy(str,str1); strcat(str,str2); } else if (strcmp(str1, str2)<0) { strcpy(str,str2); strcat(str,str1); } else strcpy(str,str1); len3=strlen(str); puts(str); printf(”Len1=%d,Len2=%d,Len3=%d\n”,len1,len2,len3);};应用举例;当前字符=空格;例 有三个字符串,找出其中最大者;例 有十个学生的成绩,求平均分;例 比较 int a[2][3]={{5,6},{7,8}}; 与 int a[2][3]={5,6,7,8};

    展开全文
  • 出m*n数组中最大的数及其脚标 知识点: 1 行地址,列地址 举例:a[3][4] a表示0行的首地址: a=&a[0] a[0]=*a a+i=&a[i](i行的首地址) a[i]= (a+i) a[i]表示i行零列的地址: a[i]==&a[i][0] ...

    问题简述:
    求出m*n数组中最大的数及其脚标
    知识点:
    1 行地址,列地址
    举例:a[3][4]
    a表示第0行的首地址:
    a=&a[0]
    a[0]=*a
    a+i=&a[i](第i行的首地址)
    a[i]=
    (a+i)
    a[i]表示第i行第零列的地址:
    a[i]==&a[i][0]
    a[i]+j=&a[i][j]
    a[i][j]=
    ((*a+i)+j)

    2二维数组在储存空间中顺序储存
    1 二维数组可以视为一位数组储存

    void InputArray(int *p, int m, int n)
    {
        int i,j;
        for(i=0;i<m;i++)
        {
            for(j=0;j<n;j++)
            {
                scanf("%d",p+i*n+j);#转换成一位数组进行储存
            }
        }
    }
    

    还有其他知识点emmm,不记得了
    贴代码

    #include <stdio.h>
    #include <stdlib.h>
    #define SIZE 10
    void InputArray(int *p, int m, int n);
    int  FindMax(int *p, int m, int n, int *pRow, int *pCol);
    int main()
    {
    
    int m,n,max,row,col;
    int num[SIZE][SIZE];
    void InputArray();
    int  FindMax();
    printf("Input m,n:\n");
    scanf("%d,%d",&m,&n);
    printf( "Input %d*%d array:\n",m,n);
    InputArray(num,m,n);
    row=0;
    col=0;
    max=FindMax(num,m,n,&row,&col);
    printf("max=%d,row=%d,col=%d\n",max,row,col);
    }
    void InputArray(int *p, int m, int n)
    {
        int i,j;
        for(i=0;i<m;i++)
        {
            for(j=0;j<n;j++)
            {
                scanf("%d",p+i*n+j);
            }
        }
    }
    int  FindMax(int *p, int m, int n, int *pRow, int *pCol)
    {
        int i,j;
        for(i=0;i<m;i++)
        {
            for(j=0;j<n;j++)
            {
                if(*(p+i*n+j)>(*p))
                {
                    *pRow=i;
                    *pCol=j;
                    *p=*(p+i*n+j);
    
                }
            }
        }
        return *p;
    }
    
    
    展开全文
  • 求数组第二大的

    2018-09-27 23:06:00
    /* 所有c语言代码,都是在LoadRunner中运行; */Action(){  int a[]={12,34,565,23,24,667,89,98};//定义一个int数组;...//第二大的值;  int i;//循环变量;LoadRunnerg中,不能在for循环中定义变量; ...
  • 例题:下列给定程序中,函数fun的功能是:数组中最大数和次最大数,并把最大数和b[0]中的数对调、次最大数和b[1]中的数对调。 注意:不要改动main函数,不能增行或删行,也不能更改程序的结构。 代码如下: #...
  • 一、用整型数组存储两个整数,再逐个相乘,最后进位: 1、先来个例子,计算a*b=c,理解数组...第二趟计算,用8分别与6、5、4相乘,得:c[1+0]=48,c[1+1]=40,c[1+2]=32; 第三趟计算,用7分别与6、5、4相乘,得:c[2+0
  • 给定一个非空数组,返回此数组大的数。如果不存在,则返回数组中最大的数。要求算法时间复杂度必须是O(n)。 示例 1: 输入: [3, 2, 1] 输出: 1 解释: 大的数是 1. 示例 2: 输入: [1, 2] 输出: 2 解释: 三...
  • C语言维整型数组的“最大点”(驻点)

    千次阅读 多人点赞 2019-11-17 21:35:50
    求二维整型数组的“最大点”。数组的“最大点”定义为:某个是所在行最大值,并且是所在列最大值。注意:某行或某列上可能有多个“最大点”。 【输入形式】 从控制台读入数组一行只有以空格分隔...
  • 例题:请补充fun函数,该函数的功能是能整除k且是偶数的数,把这些数保存在数组a,并按从到小输出。 例如,当k=40,依次输出40 20 10 8 4 2。 请勿改动主函数main与其他函数中的任何内容,仅在fun函数的横线上填写...
  • 第九章第二次作业 第九章:三四 上机作业:要求用下标法和指针法 1输入10个将它们按由到小顺序输出 2编写a数组n个元素中数值最大和最小函数要求用指针 并一维数组10个中最大值和最小值 3将给定一维...
  • 1.5、求数组中最大 1.6、冒泡排序 、字符串 2.1、字符串概念与定义 2.2、字符串输入与输出 2.2.1、使用scanf与printf可以完成字符串输入 2.2.2、使用gets,puts完成 2.3、字符串连接函数strcat...
  • 数组的数己在主函数中赋予。 请勿改动主函数main与其它函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 代码如下: #include<conio.h> #include<stdio.h> #define M 3 #define N ...
  • //超出单词长度单词 for(i=0;i;++i) wl[i]=0; while((c=getchar())!=EOF) { if(c==' '||c=='\n'||c=='\t') { state=OUT; if(nc>0) if(nc) ++wl[nc]; else ++ovflow; nc=0; } else if(state...
  • 数组最大值及位置 Description 有一个3*4矩阵,要求编程出其中值最大那个元素,以及其所在行号和列号。(如果最大有多个,则显示1个出现数据信息) Input 从键盘输入12个数字组成一个3*4...
  • 1 作业讲解 指针间接操作三个必要...strlen字符串长度,字符数组到’\0’就结束 sizeof是看数据类型占用大小(字节 何为野指针 声明指针变量后,内部是随机,为了避免野指针,初始化时候...
  • 一行是两个正整数m和n,分别表示该平面图行数和列。0 , n ≤ 1000 接下来m行,每行n个非负整数,每个整数表示一个点海拔高度。 测试数据保证如果存在鞍点,则只存在一个鞍点。 Output 对每个...
  • 目录 eg7.1数组元素引用 ... eg7.4将一个数组a行和列元素互换,存到另一个数组b中 eg7.5有一个3x4矩阵,编程出其中值最大那个元素值,以及其所在行号和列号 eg7.6输出...
  • 题目描述:一个n*m矩阵,其中不同行并且不同列两个数的最大乘积。2=<n,m<=1000. 如矩阵: 1 2 8 4 3 6 5 4 1 输入:一行输入矩阵行数n和列 m 在输入n行,每行m个元素 输出:该数组不同行...
  • 对于某一层宽度,考虑把它写成一个子函数,参数考虑起始结点以及对应,举例:对于根节点来说,其第三层宽度,就是其左孩子的第二宽度与其右孩子的第二宽度之和。 这样,我们可以写...
  • 题目描述 .../*数组a有n个元素,将数组中的最大值存入形参指针pfirst所指内存单元,将数组第二大的值存入形参指针psecond所指内存单元。 */ } 输入 输入有两行,输入第一行是一个整数n,1<n&
  •  实例20 求数组前n个元素之和 实例21 求解钢材切割最佳订单 实例22 通过指针比较整数大小 实例23 指向数组指针 实例24 寻找指定元素指针 实例25 寻找相同元素指针 实例26 阿拉伯数字转换为...
  • 第二行,共n个整数。 输出格式  输出1行,包含一个整数,连续m个之和最大值。 样例输入 10 3 9 10 1 5 9 3 2 6 7 4 样例输出 23 解析: 先算出0~m个数的和,当下标到n-1时,应该回到0下标,即用j来循环求和 ...
  • 第一个堆是小顶堆,第二个堆是顶堆。要求顶堆堆顶元素 < 小顶堆堆顶元素,如果不符合,就交换两个堆堆顶元素,维护这两个堆。最后,两个堆堆顶元素就是n个数据中中间大小2个。 对于这个数组arr...

空空如也

空空如也

1 2 3 4 5 ... 10
收藏数 184
精华内容 73
关键字:

c语言求数组第二大的数

c语言 订阅