院校机试刷题第六天:1134矩阵翻转、1052学生成绩管理、1409对称矩阵

一、1134矩阵翻转

1.题目描述

2.解题思路

很简单的模拟题,甚至只是上下翻转,遍历输出的时候先把最下面那一行输出即可。

3.代码

cpp 复制代码
#include <iostream>
#include <vector>
using namespace std;

int main() {
    int n;
    cin >> n;
    vector<vector<int>> matrix(n, vector<int> (n, 0));

    for(int i = 0; i < n; i++) {
        for(int j = 0; j < n; j++) {
            cin >> matrix[i][j];
        }
    }

    for(int i = n - 1; i >= 0; i--) {
        for(int j = 0; j < n; j++) {
            cout << matrix[i][j] << ' ';
        }
        cout << endl;
    }
    return 0;
}

二、1052学生成绩管理

1.题目描述

2.解题思路

涉及到结构体的一些复习,不过具体怎么写大体的思路都在题目要求里写了,主要就是结构体相关输入输出和数据处理。

关键点:如何保证输出的数据保留一位小数。引入头文件<iomanip>,cout中设置setprecision即可。 cout << fixed << setprecision(1) << studentsi.xingming......

3.代码

ps:有的垃圾编译器连INT_MIN都识别不了。

cpp 复制代码
#include <iostream>
#include <string>
#include <vector>
#include <iomanip>
using namespace std;

struct student{
    string xuehao;
    string banji;
    string xingming;
    double grade[3];
    double avg;
};

vector<student> shuru(vector<student> students, int n) {
    for(int i = 0; i < n; i++) {
        cin >> students[i].xuehao >> students[i].banji >> students[i].xingming;
        for(int j = 0; j < 3; j++) {
            cin >> students[i].grade[j];
        }
    }
    return students;
}

vector<student> avgGrade(vector<student> students, int n) {
    double sum = 0;
    for(int i = 0; i < n; i++) {
        sum = 0;
        for(int j = 0; j < 3; j++) {
            sum += students[i].grade[j];
        }
        students[i].avg = sum / 3;
    }
    return students;
}

int main() {
    int n;
    cin >> n;
    vector<student> students(n);

    students = shuru(students, n);
    students = avgGrade(students, n);

    for(int i = 0; i < n; i++) {
        cout << fixed << setprecision(1) << students[i].xingming << ' ' << students[i].avg << endl;
    }

    int index = 0;
    double maxAvg = INT_MIN;
    for(int i = 0; i < n; i++) {
        if(students[i].avg > maxAvg) {
            index = i;
            maxAvg = students[i].avg;
        }
    }

    cout << fixed << setprecision(1) << students[index].xuehao << ' '<< students[index].banji <<' '
    << students[index].xingming <<' '<< students[index].grade[0] <<' '
    << students[index].grade[1] <<' '<< students[index].grade[2] << ' '
    << students[index].avg;

    return 0;
}

三、1409对称矩阵

1.题目描述

2.解题思路

很弱智

简单的模拟题,对称矩阵就是判断aij和aji是否相等,有一个不相等就不是对称矩阵。

3.代码

cpp 复制代码
#include <iostream>
#include <vector>
using namespace std;

int main() {
    int n;
    while(cin >> n) {
        int flag = 1;
        vector<vector<int>> matrix(n, vector<int> (n, 0));
        for(int i = 0; i < n; i++) {
            for(int j = 0; j < n; j++) {
                cin >> matrix[i][j];
            }
        }

        for(int i = 0; i < n; i++) {
            for(int j = 0; j < n; j++) {
                if(matrix[i][j] != matrix[j][i]) {
                    flag = 0;
                }
            }
        }

        if(flag == 0) {
            cout << "No!" << endl;
        } else {
            cout << "Yes!"<< endl;
        }
    }

    return 0;
}
相关推荐
不会就选b11 小时前
算法日常・每日刷题--<二分查找>1
算法
「維他檸檬茶」11 小时前
大模型算法学习2026.6.13
学习·算法
叫我:松哥11 小时前
基于Python的共享单车租赁数据分析与预测系统,技术栈flask+boostrap+随机森林+XGBoost
人工智能·python·深度学习·算法·随机森林·数据分析·flask
BAGAE11 小时前
星链卫星数据获取:从太空安全到实时通信的技术革命
网络·数据结构·数据库·算法·云计算·hbase
happymaker062611 小时前
LeetCodeHor100——438.找到字符串中所有的字母异位词
算法
西安邮电大学12 小时前
有关栈的经典算法题
java·后端·其他·算法·面试
h_a_o777oah12 小时前
【算法专项】扩展域并查集:原理详解及解决大部分种类并查集问题(洛谷P5937 P2024 C++代码)
数据结构·c++·算法·acm·并查集·扩展域·逻辑建模
兰令水12 小时前
leecodecode【单调栈】【2026.6.12打卡-java版本】
java·开发语言·算法
TMT星球12 小时前
魔法原子上交会首秀VLA K02大模型,完成具身智能从“执行”到“理解”的能力跃迁
人工智能·算法·机器学习
2301_7644413312 小时前
番茄钟+AI:高效专注的秘密武器
人工智能·算法·数学建模·动态规划·交互