1 条题解

  • 0
    @ 2026-1-29 18:41:40
    #include<bits/stdc++.h>
    using namespace std;
    
    // [1] 存储n名同学的考试成绩(数组大小满足n<100的题目要求)
    int arr[1100];
    
    int main() {
        int n;
    	cin>>n; // [2] 输入班级总人数n
    	// [3] 循环读取n名同学的成绩并存储到数组
    	for(int i=0;i<n;i++){
    		cin>>arr[i];
    	}
    	sort(arr,arr+n); // [4] 对成绩数组进行升序排序
    	
    	int max_num=arr[n-1]; // [5] 取出排序后的最高分(数组最后一个元素)
    	// [6] 倒序遍历数组,寻找第一个比最高分小的成绩(即第二高成绩)
    	for(int i=n-1;i>=0;i--){
    		if(arr[i]<max_num){ // [7] 找到第二高成绩
    			cout<<arr[i]; // [8] 输出第二高成绩
    			break; // [9] 找到后立即跳出循环
    		}
    	} 
        return 0;                  
    }
    
    • 1

    信息

    ID
    1162
    时间
    1000ms
    内存
    256MiB
    难度
    2
    标签
    递交数
    1
    已通过
    1
    上传者