博客
关于我
1004 成绩排名 (20分)
阅读量:540 次
发布时间:2019-03-09

本文共 1471 字,大约阅读时间需要 4 分钟。

要解决这个问题,我们需要读取n名学生的姓名、学号和成绩,然后分别输出成绩最高和最低的学生的姓名和学号。以下是详细的解决方案:

方法思路

  • 读取输入:首先读取输入的学生数n,然后循环读取每一行,每行包括学生的姓名、学号和成绩。
  • 存储数据:将姓名、学号和成绩分别存储在向量中。
  • 寻找最大值和最小值:遍历成绩,记录最高和最低的成绩对应的学生信息。
  • 输出结果:分别输出成绩最高和最低学生的姓名和学号。
  • 解决代码

    #include 
    #include
    #include
    using namespace std;int main() { int n; cin >> n; vector
    names(n); vector
    nums(n); vector
    scores(n); for (int i = 0; i < n; ++i) { string line; getline(cin, line); size_t first_space = line.find(' '); size_t second_space = line.find(' ', first_space + 1); string name = line.substr(0, first_space); string num = line.substr(first_space + 1, second_space - first_space - 1); string score_str = line.substr(second_space + 1); int score = stoi(score_str); names[i] = name; nums[i] = num; scores[i] = score; } int max_score = scores[0]; int min_score = scores[0]; int max_index = 0; int min_index = 0; for (int i = 1; i < n; ++i) { if (scores[i] > max_score) { max_score = scores[i]; max_index = i; } if (scores[i] < min_score) { min_score = scores[i]; min_index = i; } } cout << names[max_index] << ' ' << nums[max_index] << endl; cout << names[min_index] << ' ' << nums[min_index] << endl; return 0;}

    代码解释

  • 读取输入:首先读取n的值,然后循环读取每一行信息。使用getline函数来读取每一行数据。
  • 分割姓名、学号和成绩:使用find方法找到字符串中的空格,分割出姓名、学号和成绩。
  • 转换成绩:将成绩字符串转换为整数,存储到scores向量中。
  • 寻找最高分和最低分:遍历成绩向量,记录最高分和最低分对应的学生索引。
  • 输出结果:根据记录的索引,分别输出最高分和最低分学生的姓名和学号。
  • 这种方法高效且直接,能够处理所有符合题目要求的输入情况。

    转载地址:http://fceiz.baihongyu.com/

    你可能感兴趣的文章
    Objective-C实现字符串boyer moore search博耶摩尔搜索算法(附完整源码)
    查看>>
    Objective-C实现字符串IP地址转DWORD地址(附完整源码)
    查看>>
    Objective-C实现字符串jaro winkler算法(附完整源码)
    查看>>
    Objective-C实现字符串manacher马拉车算法(附完整源码)
    查看>>
    Objective-C实现字符串wildcard pattern matching通配符模式匹配算法(附完整源码)
    查看>>
    Objective-C实现字符串word patterns单词模式算法(附完整源码)
    查看>>
    Objective-C实现字符串Z 函数或 Z 算法(附完整源码)
    查看>>
    Objective-C实现字符串加解密(附完整源码)
    查看>>
    Objective-C实现字符串复制功能(附完整源码)
    查看>>
    Objective-C实现字符串是否回文Palindrome算法 (附完整源码)
    查看>>
    Objective-C实现完整的ComplexNumber复数类(附完整源码)
    查看>>
    Objective-C实现实现rabin karp算法(附完整源码)
    查看>>
    Objective-C实现对图像进行色调处理算法(附完整源码)
    查看>>
    Objective-C实现对称矩阵压缩存储(附完整源码)
    查看>>
    Objective-C实现寻找欧拉路径/回路(附完整源码)
    查看>>
    Objective-C实现导弹跟踪算法(附完整源码)
    查看>>
    Objective-C实现将 base64 字符串转换为字节数组算法(附完整源码)
    查看>>
    Objective-C实现将位转换为浮点数bitsToFloat算法(附完整源码)
    查看>>
    Objective-C实现将列表向右旋转 k 个位置算法(附完整源码)
    查看>>
    Objective-C实现将字符串中大写字母转换为小写字母(附完整源码)
    查看>>