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

院校机试刷题第六天: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;
}

http://www.xdnf.cn/news/7033.html

相关文章:

  • AI驱动的研发流程:定义高度专业和系统化的规划基准
  • 软件架构设计--期末复习
  • 5月18总结
  • 拓展运算符
  • 海盗王改60帧时有关树木抖动的问题
  • 数字电子技术基础(六十)——使用Digital软件绘制脉冲触发的触发器
  • 《Python星球日记》 第89天:LlamaIndex 与知识图谱
  • 中国与全球电子取证行业市场报告(公开信息版)
  • 生产模式下react项目报错minified react error #130的问题
  • 互联网大厂Java求职面试:AI与大模型应用集成及云原生挑战
  • Java核心API实战:从字符串到多线程全解析
  • symfonos: 2靶场
  • Compose笔记(二十五)--Brush
  • 行业事件 | 中国灾害防御协会雷电灾害分会在京正式成立
  • MySQL开发规范
  • Atcoder Beginner Contest 406
  • 网络安全深度解析:21种常见网站漏洞及防御指南
  • 一文读懂----Docker 常用命令
  • SQL性能分析
  • 23种设计模式考试趋势分析之——适配器(Adapter)设计模式——求三连
  • IDE/IoT/搭建物联网(LiteOS)集成开发环境,基于 VSCode + IoT Link 插件
  • ubuntu18.04编译qt5.14.2源码
  • [特殊字符] SSL/TLS 中的密钥协商流程笔记
  • 进程的调度
  • SpringBoot快速上手
  • CUDA 纹理入门
  • replay下载
  • SOLID 面对象设计的五大基本原则
  • 一种基于条件约束注意力生成对抗网络的水下图像增强模型
  • 二叉树构造:从前序、中序与后序遍历序列入手