C程序在数组中查找第二大和最小的数字
输入数组元素,然后使用交换技术按降序排列数字。稍后,在索引位置的帮助下,尝试打印数组中的第二大和第二小元素。
数组用于在一个名称下保存一组公共元素。
C 编程语言中的数组操作如下 -
插入
删除
搜索
算法
下面给出了一个算法来查找数组中第二大和第二小的数字 -
步骤 1 - 声明并读取元素的数量。
第 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\n");
scanf ("%d", &n);
printf ("Enter the numbers \n");
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\n");
for (i=0; i<n; ++i)
printf ("%10d\n",number[i]);
printf ("The 2nd largest number is = %d\n", number[1]);
printf ("The 2nd smallest number is = %d\n", 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\n");
else
printf("The average of 2nd largest & 2nd smallest in array is %d in numbers\n", counter);
}
执行上述程序时,会产生以下结果 -
Enter the value of N5
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程序在数组中查找第二大和最小的数字 的全部内容, 来源链接: utcz.com/z/343754.html