输入数组元素,然后使用交换技术按降序排列数字。随后,在索引位置的帮助下,尝试打印数组中第二大和第二小的元素。
数组用于保存同一个名称下的一组公共元素。
数组用于保存同一个名称下的一组公共元素。 p>
C 语言中的数组操作如下 -
下面给出的是一种查找数组中第二大和第二小的数字的算法 -
步骤 1 strong> - 声明并读取元素数量。
步骤 2 - 在运行时声明并读取数组大小。
步骤 3 - 输入数组元素。
步骤 4 - 按降序排列数字。
步骤 5 - 然后,使用索引找到第二大和第二小的数字。
步骤 6 - 打印第二大和第二小的数字。
下面给出的是 C 程序,用于查找数组中第二大和第二小的数字 -
#include<stdio.h> void main(){ int i,j,a,n,counter,ave,number[30]; printf ("Enter the value of N</p><p>"); scanf ("%d", &n); printf ("Enter the numbers </p><p>"); for (i=0; i<n; ++i) scanf ("%d",&number[i]); for (i=0; i<n; ++i){ for (j=i+1; j<n; ++j){ if (number[i] < number[j]){ a = number[i]; number[i] = number[j]; number[j] = a; } } } printf ("The numbers arranged in descending order are given below</p><p>"); for (i=0; i<n; ++i) printf ("%10d</p><p>",number[i]); printf ("The 2nd largest number is = %d</p><p>", number[1]); printf ("The 2nd smallest number is = %d</p><p>", number[n-2]); ave = (number[1] +number[n-2])/2; counter = 0; for (i=0; i<n; ++i){ if (ave==number[i]) ++counter; } if (counter==0) printf("The average of 2nd largest & 2nd smallest is not in the array</p><p>"); else printf("The average of 2nd largest & 2nd smallest in array is %d in numbers</p><p>", counter); }
当执行上述程序时,会产生以下结果 -
Enter the value of N 5 Enter the numbers 10 12 17 45 80 The numbers arranged in descending order are given below 80 45 17 12 10 The 2nd largest number is = 45 The 2nd smallest number is = 12 The average of 2nd largest & 2nd smallest is not in the array
以上是C程序用于在数组中找到第二大和第二小的数字的详细内容。更多信息请关注PHP中文网其他相关文章!