甘肃省省建设厅网站,wordpress主题结构讲解视频教程,网站里的友情链接,在哪里学广告设计培训https://www.cnblogs.com/dootoo/p/4473958.html 题目#xff1a; 实现一个函数#xff0c;查找一个整数数组中第二大数。 算法思想#xff1a; 设置两个变量max1和max2#xff0c;用来保存最大数和第二大数#xff0c;然后将数组剩余的数依次与这两个数比较#xff0c;如…https://www.cnblogs.com/dootoo/p/4473958.html 题目 实现一个函数查找一个整数数组中第二大数。 算法思想 设置两个变量max1和max2用来保存最大数和第二大数然后将数组剩余的数依次与这两个数比较如果这个数a比max1大则先将max1赋给max2,使原先最大的数成为第二大的数再将这个数a赋给max1,如果这个数a比max1小但比max2大则将这个数a赋值给max2依次类推直到数组中的数都比较完。 c语言代码 1 #includestdio.h2 #includestdlib.h3 #define N 104 void produce_random_array(int array[], int n);5 void show_array(int array[], int n);6 int search_second_max(int array[], int n);7 int main(int agrc, char *agrv[])8 {9 int array[N];
10 produce_random_array(array, N);
11 printf(原数组如下:\n);
12 show_array(array, N);
13 printf(\nthe second_max is: %d\n, search_second_max(array, N));
14 system(pause);
15 return 0;
16 }
17 void produce_random_array(int array[], int n)
18 {
19 int i;
20 srand(time(NULL));
21 for (i 0; i n; i)
22 {
23 array[i] rand() % 100;
24 }
25 }
26 void show_array(int array[], int n)
27 {
28 int i;
29 for (i 0; i n; i)
30 printf(%-3d, array[i]);
31 }
32 int search_second_max(int array[], int n)
33 {
34 int max1, max2, i;
35 max1 array[0];
36 for (i 1; i n; i)
37 {
38 if (array[i]max1)
39 {
40 max2 max1;
41 max1 array[i];
42 }
43 else
44 {
45 if (i 1)
46 max2 array[i];
47 else if (array[i]max2)
48 max2 array[i];
49 }
50 }
51 return max2;
52 }