2501 - 数组练习-3
时间限制 : 1 秒
内存限制 : 128 MB
首先从键盘输入一个正整数n(1<n<=100,代表数组元素个数),接着输入n个整数(代表数组元素)。然后查找并输出数组元素中的次大值(即第二大值,不包括并列元素)。
题目输入
10 48 97 77 52 79 51 28 76 70 29
题目输出
79
输入/输出样例
输入格式
6 36 26 11 51 67 91
输出格式
67
C语言解答
#include<stdio.h> int main() { int n, i, j, k, t; int a[100]; scanf("%d", &n); for(i=0; i<n && n>1 && n<=100; i++) { scanf("%d", &a[i]); } for(i=0; i<n-1; i++)//比较趟数 { k = i; for(j=i+1; j<n; j++) { if(a[j] < a [k]) k = j; } { t = a[k]; a[k] = a[i]; a[i] = t; } } for(i=n-1,j=n-2; j>=0; j--) { if(a[i]==a[j]); else { printf("%d", a[j]); break; } } return 0; }
C++解答
#include<stdio.h> int main(){ int n,i,max1,max2; int a[100]; scanf("%d",&n); for (i=1; i<=n; i++) { scanf("%d",&a[i]); } max1=0; for (i=1; i<=n; i++){ if (a[i]>=max1) {max1 = a[i];} } for (i=1; i<=n; i++){ if (a[i]>=max2 && a[i]!=max1) {max2 = a[i];} } printf("%d",max2); return 0; }