当前位置: 首页 > news >正文

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

一、1134矩阵翻转

1.题目描述

2.解题思路

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

3.代码

#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) << students[i].xingming......

3.代码

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

#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.解题思路

很弱智

简单的模拟题,对称矩阵就是判断a[i][j]和a[j][i]是否相等,有一个不相等就不是对称矩阵。

3.代码

#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;
}

相关文章:

  • 180KHz 60V 5A开关电流升压/升降压型DC-DC转换器XL4019升降压芯片
  • “Cloud Native English“云原生时代下的微服务架构设计:从理论到实战全解析
  • 相机Camera日志分析之十三:高通相机Camx 基于预览1帧的ConfigureStreams三级日志分析详解
  • Android开发-列表类视图
  • 机器学习入门之朴素叶贝斯和决策树分类(四)
  • linux上利用QProcess获取进程打印
  • 选择合适的AI模型:解析Trae编辑器中的多款模型及其应用场景
  • C++ map multimap 容器:赋值、排序、大小与删除操作
  • axios的基本使用
  • 深入了解linux系统—— 基础IO(下)
  • VS Code 开启mcp控制本地的redis
  • iOS 初识RunLoop
  • 深度学习推理引擎---ONNX Runtime
  • Vue+Go 自定义打字素材的打字网站
  • 海盗王改60帧时有关树木抖动的问题
  • Leetcode 3551. Minimum Swaps to Sort by Digit Sum
  • Protect Your Digital Privacy: Obfuscate, Don’t Hide
  • C语言指针深入详解(二):const修饰指针、野指针、assert断言、指针的使用和传址调用
  • 用 UniApp 构建习惯打卡 App —— HabitLoop 开发记
  • 报告精读:华为2024年知行合一通信行业数据治理实践指南报告【附全文阅读】
  • 习近平:坚持科学决策民主决策依法决策,高质量完成“十五五”规划编制工作
  • 以色列称“将立即允许恢复”人道主义物资进入加沙
  • 从良渚到三星堆:一江水串起了5000年的文明对话
  • 习近平向第三十四届阿拉伯国家联盟首脑理事会会议致贺信
  • 高飞已任南航集团党组副书记
  • 全国多家健身房女性月卡延长,补足因月经期耽误的健身时间