2017年苏州大学837复试机试C/C++

2017年苏州大学复试机试

要求

  1. 要求用C/C++编程;
  2. 对程序中必要的地方进行注释。
  3. 上机规则
    1. 请在电脑桌面上新建一个文件夹文件夹名为考试姓名(中文);
    2. 考试完毕后,将所编写的文件放在上述文件中。

第一题(20分)

题目

有一数列如下:

数列AxMath制作

求此数列的前20个数,并输出结果,要求每行输出5个数。

代码

#include <iostream>
using namespace std;int main() {int Arr[20] = {0};//Arr[0] = 0;Arr[1] = 1;Arr[2] = 2;//赋值for (int i = 3; i < 20; ++i) {Arr[i] = Arr[(i - 1)] + Arr[(i - 2)] + Arr[(i - 3)];}// 输出结果,每行5个数for (int i = 0; i < 20; ++i) {cout << Arr[i] << " ";if ((i + 1) % 5 == 0) {cout << endl;  // 当输出了5个数时换行}}return 0;
}

结果

第二题(30分)

题目

以下三个问题要求用函数编写,从键盘输入一个3*4的矩阵A编程求:

  1. 矩阵A的最小值最大值及它们所在的行号和列号;
  2. 每一行平均值;
  3. 从键盘输入一个4*3的矩阵B,计算矩阵A和B的乘积。

博主注:此版本采用了容器操作解决同时存在两个及其以上的最大值或者最小值问题,对于纯C语言版本暂无很好的解决办法,使用数组来存储最值的方法参考:2014年苏州大学837复试机试C/C++

代码

#include <iostream>
#include <climits>
#include <vector>
using namespace std;void Input_Function();
void Average_lacedelmenets();
void New_Arr();int Arr_A[3][4];
int Arr_B[4][3];
int Arr_AB[3][3];
int Max_element = INT_MIN; //整数类型最小值
int Min_element = INT_MAX; //整数类型最大值
vector<pair<int, int>> Max_positions;  // 存储最大值位置的向量
vector<pair<int, int>> Min_positions;  // 存储最小值位置的向量int main() {//矩阵A的最小值最大值及它们所在的行号和列号Input_Function();// 求各一元各行元素的平均值Average_lacedelmenets();//A*BNew_Arr();system("pause");return 0;
}void Input_Function(){int Temp = 0;cout << "请输入3*4矩阵A的元素:" << endl;//输入矩阵元素:for (int i = 0; i < 3; ++i) {for (int j = 0; j < 4; ++j) {cout << "请输入第 " << (i + 1) << " 行,第 " << (j + 1) << " 列的元素:";cin >> Arr_A[i][j];//找最大值和最小值Temp = Arr_A[i][j];if (Temp > Max_element) {Max_element = Temp;Max_positions.clear();  // 清空之前记录的最大值位置Max_positions.push_back({i, j});} else if (Temp == Max_element) {Max_positions.push_back({i, j});  // 记录相同最大值的位置}if (Temp < Min_element) {Min_element = Temp;Min_positions.clear();  // 清空之前记录的最小值位置Min_positions.push_back({i, j});} else if (Temp == Min_element) {Min_positions.push_back({i, j});  // 记录相同最小值的位置}}}//输出矩阵cout << "输入的矩阵为:" << endl;for (int i = 0; i < 3; ++i) {for (int j = 0; j < 4; ++j) {cout << Arr_A[i][j] << " ";}cout << endl;}// 输出最大值和最小值及其位置cout << "矩阵A的最大值为 " << Max_element << ",位于以下位置:" << endl;for (const auto& pos : Max_positions) {cout << "第 " << (pos.first + 1) << " 行,第 " << (pos.second + 1) << " 列" << endl;}cout << "矩阵A的最小值为 " << Min_element << ",位于以下位置:" << endl;for (const auto& pos : Min_positions) {cout << "第 " << (pos.first + 1) << " 行,第 " << (pos.second + 1) << " 列" << endl;}
}void Average_lacedelmenets() {cout << "各行元素的平均值为:" << endl;for (int i = 0; i < 3; ++i) {int rowSum = 0;for (int j = 0; j < 4; ++j) {rowSum += Arr_A[i][j];}double average = static_cast<double>(rowSum) / 3;cout << "第 " << (i + 1) << " 行元素的平均值为:" << average << endl;}
}void New_Arr(){//输入矩阵Bcout << "请输入4*3矩阵B的元素:" << endl;for (int i = 0; i < 4; ++i) {for (int j = 0; j < 3; ++j) {cout << "请输入第 " << (i + 1) << " 行,第 " << (j + 1) << " 列的元素:";cin >> Arr_B[i][j];}}//计算矩阵A和B的乘积for (int i = 0; i < 3; ++i) {for (int j = 0; j < 3; ++j) {Arr_AB[i][j] = 0;for (int k = 0; k < 4; ++k) {Arr_AB[i][j] += Arr_A[i][k] * Arr_B[k][j];}}}// 输出矩阵乘积cout << "矩阵 A 和 B 的乘积为:" << endl;for (int i = 0; i < 3; ++i) {for (int j = 0; j < 3; ++j) {cout << Arr_AB[i][j] << " ";}cout << endl;}}

结果

最后

此代码为个人编写,题目参考互联网资源,使用平台为Clion,C++17标准。

由于博主才疏学浅,如有错误请多多指正,如有更好解法请多多交流!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/666040.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CSS的元素显示模式

一&#xff0c;什么是元素显示模式 元素显示模式是指元素以什么方式显示&#xff0c; 作用&#xff1a;了解不同类型的标签可以更好的布局网页。 HTML元素一般分为块元素和行内元素。 1.1块元素 常见的块元素有&#xff1a;<p><ul><ol><li>,<di…

window 搭建 Flutter for Android的环境(二)

最近又重置了笔记本系统&#xff0c;因此又得重新部署Flutter环境&#xff0c;所以就再重新整理了一下&#xff1a; 下载安装好Android、git下载安装好对应版本的Flutter 下载地址:部署环境变量&#xff1a; ANDROID_HOME C:\Users\Administrator\AppData\Local\Android\SdkC:…

winserver2012远程黑屏且无法操作

当我们遇到远程windows服务器发现GUI图形加载异常&#xff0c;黑屏显示&#xff0c;且无法进行任何操作&#xff0c;我们可以尝试以下方法。 1.尝试远程命令重启 #11.11.11.11 远程服务器ip #Administrator 远程桌面用户名 #12345678 密码 #shutdown.exe -r -f 在一分钟…

【计算机网络】HTTPS协议原理

文章目录 一、相关基础概念1.HTTPS 是什么2.什么是"加密"3.为什么要加密4.常见的加密方式5.数据摘要 && 数据指纹 二、HTTPS 的工作过程 -- 加密方式1.只使用对称加密2.只使用非对称加密3.双方都使用非对称加密4.非对称加密 对称加密5.中间人攻击6.证书7.非…

力扣144 二叉树的前序遍历 Java版本

文章目录 题目描述递归方法代码 非递归方法代码 题目描述 给你二叉树的根节点 root &#xff0c;返回它节点值的 前序 遍历。 示例 1&#xff1a; 输入&#xff1a;root [1,null,2,3] 输出&#xff1a;[1,2,3] 示例 2&#xff1a; 输入&#xff1a;root [] 输出&#xf…

ElementUI Data:Table 表格

ElementUI安装与使用指南 Table 表格 点击下载learnelementuispringboot项目源码 效果图 el-table.vue&#xff08;Table表格&#xff09;页面效果图 项目里el-table.vue代码 <script> export default {name: el_table,data() {return {tableData: …

蓝桥杯省赛无忧 数位DP 课件78 数位DP

01 算法概述 02 问题引入 03 算法分析 04 例题

《QDebug 2024年1月》

一、Qt Widgets 问题交流 1. 二、Qt Quick 问题交流 1.Repeator 的 delegate 在 remove 移除时的注意事项 Qt Bug Tracker&#xff1a;https://bugreports.qt.io/browse/QTBUG-47500 Repeator 在调用 remove 函数之后&#xff0c;对应的 Item 会立即释放&#xff0c;后续就…

如何基于文档的内容实现 AI 对话功能,以 Documate 为例

前言 在 ChatGPT 出现之时&#xff0c;社区内也出现过 把 React 官方文档投喂给它 &#xff0c;然后对它进行提问的实践。但是&#xff0c;由于每次 ChatGPT 对话能接受的文本内容对应的 Token 是有上限的&#xff0c;所以这种使用方式存在一定的手动操作成本和不能复用的问题…

Linux eject命令教程:如何安全地弹出你的设备(附实例详解和注意事项)

Linux eject命令介绍 eject命令在Linux中用于弹出可移动设备。这通常是光盘&#xff0c;但也可以是软盘&#xff0c;磁带&#xff0c;或JAZ或ZIP磁盘。此命令还可以控制一些多碟CD-ROM切换器&#xff0c;一些设备支持的自动弹出功能&#xff0c;以及关闭一些CD-ROM驱动器的光盘…

使用Ettus USRP X440对雷达和EW系统进行原型验证

概览 无论是保障己方平台的生存能力&#xff0c;还是扰乱敌方频谱使用&#xff0c;以电磁(EM)频谱为主导都是任务成功的主要因素。电磁频谱操作(Electromagnetic Spectrum Operation, EMSO)需要使用战术系统来监测敌方的频谱活动、定位其发射器并帮助己方制定行动计划。软件无…

新 Ubuntu 14.04 服务器的基本配置

简介 在为新服务器设置最低配置之后&#xff0c;大多数情况下都建议进行一些额外的步骤。在本指南中&#xff0c;我们将继续配置我们的服务器&#xff0c;处理一些推荐但可选的程序。 先决条件和目标 在开始本指南之前&#xff0c;您应该先运行 Ubuntu 14.04 初始服务器设置…

离散数学——特殊关系(笔记及思维导图)

离散数学——特殊关系&#xff08;笔记及思维导图&#xff09; 笔记来自【电子科大】离散数学 王丽杰

DIY制作硬模空心耳机壳使用的是什么原材料?

制作硬模空心耳机壳的原材料可以根据不同的制作要求和材料特性进行选择。以下是一些常见的原材料&#xff1a; 塑料&#xff1a;塑料是一种常用的耳机壳制作材料&#xff0c;具有轻便、耐用、防水等特点。常见的塑料材料包括ABS、PC、PA等&#xff0c;可以根据具体要求进行选择…

vue+springboot项目开发,使用MySQL示例数据库sakila

vuespring boot项目开发&#xff0c;使用MySQL示例数据库sakila 从零开始开发一个简单的前后端分离项目&#xff0c;实现对MySQL示例数据库sakila中film表的数据展示。 环境配置 使用IDEA进行后端开发&#xff08;Spring Boot&#xff09; 安装IDEA&#xff1a;参考JDK的安…

20240131在ubuntu20.04.6下使用whisper不同模式的比对

20240131在ubuntu20.04.6下使用whisper不同模式的比对 2024/1/31 16:07 首先你要有一张NVIDIA的显卡&#xff0c;比如我用的PDD拼多多的二手GTX1080显卡。【并且极其可能是矿卡&#xff01;】 2、请正确安装好NVIDIA最新的驱动程序和CUDA。可选安装&#xff01; 3、配置whisper…

开发实践9_OnlinePlatform笔记

学习朔宁夫开发工程师课程笔记。 0架构&#xff1a; 01. MyDoc\PycharmProjects\ProjOnline&#xff0c;注册一个index app备主页用。 02. python manage.py startapp users, python manage.py startapp course. install apps. 03. total url urlpatterns [# http://127.…

Springboot项目启动后浏览器不能直接访问接口,而postman可以访问?

在云服务器上部署springboot后端时&#xff0c;项目启动后浏览器不能直接访问接口,而postman可以访问。这是当时困扰了我大半天的小问题&#xff0c;在我打开防火墙和阿里云安全组之后还是没解决。然后在网上搜了很多很多资料&#xff0c;以为是浏览器访问权限或者是https什么证…

[力扣 Hot100]Day23 反转链表

题目描述 给你单链表的头节点 head &#xff0c;请你反转链表&#xff0c;并返回反转后的链表。 出处 思路 经典考研题&#xff0c;用头插法解决。 代码 class Solution { public:ListNode* reverseList(ListNode* head) {if(!head || !head->next) return head;List…

蓝桥 第三周 分治 排序

3.1 分治法介绍及关键点解析_哔哩哔哩_bilibili 分治&#xff1a;分解 解决 合并 快速排序 单向扫描分区法 public static void main(String[] args) {// TODO Auto-generated method stubint[] arr {1,6,3,6,2,8,6,1,0,7};quickSort1(arr,0,arr.length-1);for(int i:arr) {…