找同学的位置c++
/ imax和imin分别存储学号最大和最小学生的队列位置。if(a[i] > mmax){// 如果当前学号大于已知最大学号。if(a[i] < mmin){// 如果当前学号小于已知最小学号。// 未知:需要找出学号最大和学号最小的同学在队列中的位置(按排队顺序)。// n表示学生总数。// 四、输入每个学生的学号,并同时寻找学号最大和最小的学生及其位置。// 检查当前学生学号与当前已知的最大
代码
#include<bits/stdc++.h>
using namespace std;
int main(){
// 一、问题分析
// 已知:有一队列包含n名同学(队列长度限制为n≤100),
// 每名同学有一个独一无二的学号,学号为整数。
// 未知:需要找出学号最大和学号最小的同学在队列中的位置(按排队顺序)。
// 二、定义变量
int n; // n表示学生总数
int a[110]; // a数组用于存储每个学生的学号
int mmax = INT_MIN; // 初始化最大学号为整型最小值,确保任何输入的学号都能覆盖
int mmin = INT_MAX; // 初始化最小学号为整型最大值,同样确保覆盖所有可能的输入
int imax, imin; // imax和imin分别存储学号最大和最小学生的队列位置
// 三、输入学生总数
cin >> n;
// 四、输入每个学生的学号,并同时寻找学号最大和最小的学生及其位置
for(int i = 1; i <= n; i++){ // 从数组下标1开始,符合题目描述
cin >> a[i]; // 输入第i个学生的学号
// 检查当前学生学号与当前已知的最大/最小学号比较
if(a[i] > mmax){ // 如果当前学号大于已知最大学号
mmax = a[i]; // 更新最大学号
imax = i; // 记录最大学号对应的学生位置
}
if(a[i] < mmin){ // 如果当前学号小于已知最小学号
mmin = a[i]; // 更新最小学号
imin = i; // 记录最小学号对应的学生位置
}
}
// 五、输出结果
// 输出学号最大和学号最小的学生在队列中的位置
cout << imax << " " << imin;
return 0; // 程序执行完毕,正常退出
}
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐
所有评论(0)