对于一个给定的数列, 输出在这个数列里面排第二大的那个数。的c语言代码
时间: 2024-05-02 18:22:46 浏览: 54
如何寻找数组中的第二大数
5星 · 资源好评率100%
以下是输出一个数列中排在第二大的数的C语言代码:
```
#include<stdio.h>
int main()
{
int n, largest, secondLargest;
printf("Enter the number of elements in the array: ");
scanf("%d", &n);
int a[n];
printf("Enter the elements of the array: ");
for(int i = 0; i < n; i++)
{
scanf("%d", &a[i]);
}
largest = a[0];
secondLargest = a[1];
if(secondLargest > largest)
{
int temp = largest;
largest = secondLargest;
secondLargest = temp;
}
for(int i = 2; i < n; i++)
{
if(a[i] > largest)
{
secondLargest = largest;
largest = a[i];
}
else if(a[i] != largest && a[i] > secondLargest)
{
secondLargest = a[i];
}
}
printf("The second largest number of the array is %d", secondLargest);
return 0;
}
```
在这个代码中,我们首先要求用户输入数列的元素个数和数列本身。然后,我们对第一个和第二个元素进行排序,以便于之后的比较。接下来,我们进行一个遍历,如果某个元素大于当前的最大值,则将第二大的值替换为当前的最大值,并将这个元素设为最大值。如果这个元素不是最大值,并且它大于第二大的值,我们就直接将这个元素设为第二大的值。最终,我们输出第二大的值。
请注意,在这个过程中我们没有使用任何快速排序等高级算法,相反,我们一步一步地遍历并比较了所有元素。因此,这个算法可能会在规模较大的数据集上变得缓慢。
阅读全文