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

2018年苏州大学复试机试

要求

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

第一题(20分)

题目

按下式要求计算e的近似值,n=5由键盘输入。
e = 1+1/1! + 1/2! + 1/3! +…+1/n!

代码

#include <iostream>  
using namespace std;  double Factorial(int n);  int main() {  int n = 1;  double Sum = 0;  cout << "请输入n=" << endl;  cin >> n;  //计算和  for (int i = 0; i < n; ++i) {  Sum += Factorial(i + 1);  }  cout << "e的计算值为:" << Sum << endl;  return 0;  
}  //计算单个1/n!,返回数值  
double Factorial(int n){  double Ele = 1;  double Sum_Eone = 0;  for (int i = 0; i < n; ++i) {  Ele *= i + 1;  }  Sum_Eone = 1.0 / Ele;  return Sum_Eone;  
}

结果

第二题(30分)

题目

以下三个问题,要求用函数编写:
有一个班的学生,本学期学了四门课,从键盘输入该班各同学各门课的成绩,假设学生数为3。

  1. 求出每门课程的平均成绩
  2. 求出全班的平均成绩
  3. 求出课程最低分的学生和成绩。

代码

#include <iostream>  
#include <iomanip>  //用来精确浮点数位数,fixed << setprecision(2),限定小数点后两位  using namespace std;  const int NUM_STUDENTS = 3;  
const int NUM_COURSES = 4;  // 函数声明  
void inputGrades(double grades[NUM_STUDENTS][NUM_COURSES]);  
void displayCourseAverages(double grades[NUM_STUDENTS][NUM_COURSES]);  
void displayClassAverage(double grades[NUM_STUDENTS][NUM_COURSES]);  
void findMinScoreStudent(double grades[NUM_STUDENTS][NUM_COURSES], int& minStudent);  
double calculateClassTotalScore(double grades[NUM_STUDENTS][NUM_COURSES], int studentIndex);  int main() {  double grades[NUM_STUDENTS][NUM_COURSES];  // 输入成绩  inputGrades(grades);  // 显示每门课程的平均成绩  displayCourseAverages(grades);  // 显示全班平均成绩  displayClassAverage(grades);  // 找到课程最低分的学生  int minStudent;  findMinScoreStudent(grades, minStudent);  // 显示结果  cout << "课程最低分的学生是学生 " << minStudent + 1 << ",成绩为:" << endl;  for (int j = 0; j < NUM_COURSES; ++j) {  cout << "课程 " << j + 1 << ": " << fixed << setprecision(2) << grades[minStudent][j] << endl;  }  cout << "总成绩: " << fixed << setprecision(2) << calculateClassTotalScore(grades, minStudent) << endl;  return 0;  
}  // 输入成绩  
void inputGrades(double grades[NUM_STUDENTS][NUM_COURSES]) {  cout << "请输入每位学生的四门课程成绩:" << endl;  for (int i = 0; i < NUM_STUDENTS; ++i) {  for (int j = 0; j < NUM_COURSES; ++j) {  cout << "学生 " << i + 1 << " 课程 " << j + 1 << " 成绩:";  cin >> grades[i][j];  }  }  
}  // 计算每门课程的平均成绩并显示  
void displayCourseAverages(double grades[NUM_STUDENTS][NUM_COURSES]) {  cout << "每门课程的平均成绩:" << endl;  for (int i = 0; i < NUM_COURSES; ++i) {  double courseAverage = 0;  for (int j = 0; j < NUM_STUDENTS; ++j) {  courseAverage += grades[j][i];  }  courseAverage /= NUM_STUDENTS;  cout << "课程 " << i + 1 << ": " << fixed << setprecision(2) << courseAverage << endl;  }  
}  // 计算全班平均成绩并显示  
void displayClassAverage(double grades[NUM_STUDENTS][NUM_COURSES]) {  double classAverage = 0;  for (int i = 0; i < NUM_STUDENTS; ++i) {  for (int j = 0; j < NUM_COURSES; ++j) {  classAverage += grades[i][j];  }  }  classAverage /= (NUM_STUDENTS * NUM_COURSES);  cout << "全班平均成绩: " << fixed << setprecision(2) << classAverage << endl;  
}  // 计算每个学生的总分  
double calculateClassTotalScore(double grades[NUM_STUDENTS][NUM_COURSES], int studentIndex) {  double totalScore = 0;  for (int j = 0; j < NUM_COURSES; ++j) {  totalScore += grades[studentIndex][j];  }  return totalScore;  
}  // 找到总分最低的学生  
void findMinScoreStudent(double grades[NUM_STUDENTS][NUM_COURSES], int& minStudent) {  minStudent = 0; // 初始化为第一个学生  for (int i = 1; i < NUM_STUDENTS; ++i) {  double totalScoreCurrent = calculateClassTotalScore(grades, i);  double totalScoreMin = calculateClassTotalScore(grades, minStudent);  if (totalScoreCurrent < totalScoreMin) {  minStudent = i;  }  }  
}

结果

最后

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

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

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

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

相关文章

07、全文检索 -- Solr -- Solr 全文检索 之 为索引库添加中文分词器

目录 Solr 全文检索 之 为索引库添加中文分词器添加中文分词器1、添加中文分词器的 jar 包2、修改 managed-schema 配置文件什么是 fieldType 3、添加 停用词文档4、重启 solr5、添加【*_cn】动态字段&#xff0c;并为该字段设置中文分词器6、演示分词器的区别演示 text_cjk 这…

瑞_23种设计模式_建造者模式

文章目录 1 建造者模式&#xff08;Builder Pattern&#xff09;1.1 介绍1.2 概述1.3 创作者模式的结构 2 案例一2.1 需求2.2 代码实现 3 案例二3.1 需求3.2 代码实现 4 模式拓展 ★★★4.1 重构前4.2 重构后 5 总结5.1 建造者模式优缺点5.2 建造者模式使用场景5.3 建造者模式 …

scikit-learn 1.3.X 版本 bug - F1 分数计算错误

如果您正在使用 scikit-learn 1.3.X 版本&#xff0c;在使用 f1_score() 或 classification_report() 函数时&#xff0c;如果参数设置为 zero_division1.0 或 zero_divisionnp.nan&#xff0c;那么函数的输出结果可能会出错。错误的范围可能高达 100%&#xff0c;具体取决于数…

STM32单片机的C语言基础

C语言是单片机开发中的必备基础知识&#xff0c;本文列举了部分STM32学习中比较常见的一些C语言基础知识。 1 位操作 下面我们先讲解几种位操作符&#xff0c;然后讲解位操作使用技巧。C语言支持以下六种位操作&#xff1a; 下面&#xff0c;重点讲解一下位操作在单片机开发中…

通过servlet设计一个博客系统

博客系统 准备工作servlrt依赖mysql依赖jackson依赖 服务器和数据库的交互设计数据库/数据表封装DBUtil,实现建立连接和断开连接创建实体类bloguser 编写Dao类BlogDaoUserDao 前端和服务器的交互功能一:博客列表页约定格式后端代码前端代码 功能二:实现博客详情页约定格式后端代…

sql相关子查询

1.什么是相关子查询 相关子查询是一个嵌套在外部查询中的查询&#xff0c;它使用了外部查询的某些值。每当外部查询处理一行数据时&#xff0c;相关子查询就会针对那行数据执行一次&#xff0c;因此它的结果可以依赖于外部查询中正在处理的行。 2.为什么要使用相关子…

Python 数据可视化:配色方案

1、引言 在这篇文章中&#xff0c;我们将研究Python的一些配色方案&#xff0c;主要是Seaborn库。这将采用 Python Notebook 格式&#xff0c;其中包括绘图的代码。 2、实验数据 首先导入必要的库&#xff1a; import pandas as pd import seaborn as sns import matplotlib…

unordered_map和unordered_set

目录 一、unordered_map 1.1、unordered_map的特点 1.2、unordered_map和map的区别 二、unordered_set 2.1、unordered_set的特点 2.2、unordered_set和set的区别 三、哈系桶的改造 3.1 结构设置 3.2 构造函数和析构函数 3.3 数据插入 3.4 数据查找 3.5 数据删除 …

STM32学习笔记三——深度讲解GPIO及其应用

目录 STM32GPIO端口位基本结构图&#xff1a; 结构图I/O引脚&#xff1a; GPIO输入输出总结 1.GPIO引脚的四种输入方式及其特点&#xff1a; 1)上拉输入(GPIO_Mode_IPU) 2)下拉输入(GPIO_Mode_IPD) 3)模拟输入(GPIO_Mode_AIN) 4)浮空输入(GPIO_Mode_IN_FLOATING…

【git】本地项目推送到github、合并分支的使用

1. github上创建仓库信息 点击个人头像&#xff0c;选择【你的仓库】 点击【新增】 填写仓库信息 2. 本地项目执行的操作 1.生成本地的git管理 (会生成一个.git的文件夹) git init 2.正常提交到暂存区&#xff0c;并填写提交消息 git add . git commit -m "init…

彻底学会系列:一、机器学习之线性回归

1.基本概念 线性回归&#xff1a; 有监督学习的一种算法。主要关注多个因变量和一个目标变量之间的关系。 因变量&#xff1a; 影响目标变量的因素&#xff1a; X 1 , X 2 . . . X_1, X_2... X1​,X2​... &#xff0c;连续值或离散值。 目标变量&#xff1a; 需要预测的值: t…

Openresty+Lua+Redis实现高性能缓存

一、背景 当我们的程序需要提供较高的并发访问时&#xff0c;往往需要在程序中引入缓存技术&#xff0c;通常都是使用Redis作为缓存&#xff0c;但是要再更进一步提升性能的话&#xff0c;就需要尽可能的减少请求的链路长度&#xff0c;比如可以将访问Redis缓存从Tomcat服务器…

MQ面试题整理(持续更新)

1. MQ的优缺点 优点&#xff1a;解耦&#xff0c;异步&#xff0c;削峰 缺点&#xff1a; 系统可用性降低 系统引入的外部依赖越多&#xff0c;越容易挂掉。万一 MQ 挂了&#xff0c;MQ 一挂&#xff0c;整套系统崩 溃&#xff0c;你不就完了&#xff1f;系统复杂度提高 硬生…

ES高可用架构涉及常用功能整理

ES高可用架构涉及常用功能整理 1. es的高可用系统架构和相关组件2. es的核心参数2.1 常规配置2.2 特殊优化配置2.2.1 数据分片按ip打散2.2.2 数据分片机架感知2.2.3 强制要求数据分片机架感知2.2.4 写入线程池优化2.2.5 分片balance优化2.2.6 限流控制器优化 3. es常用命令3.1 …

前缀和 acwing

思路&#xff1a;两个数组&#xff0c;一个数组用来保存数据&#xff0c;一个数组来求对应项的和 前缀和S[r]-s[r-1] 空出来下标0 从1开始 方便表示&#xff0c;防止越界 c代码实现: #include<iostream> using namespace std; const int N1000000; int a[N],s[N]; …

344. Reverse String(反转字符串)

题目描述 编写一个函数&#xff0c;其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。 不要给另外的数组分配额外的空间&#xff0c;你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。 问题分析 以中间字符为轴&#xff0c;将两边的字符对换…

CSS-IN-JS

CSS-IN-JS 为什么会有CSS-IN-JS CSS-IN-JS是web项目中将CSS代码捆绑在JavaScript代码中的解决方案。 这种方案旨在解决CSS的局限性&#xff0c;例如缺乏动态功能&#xff0c;作用域和可移植性。 CSS-IN-JS介绍 1&#xff1a;CSS-IN-JS方案的优点&#xff1a; 让css代码拥…

Java与SpringBoot:实现高效车险理赔信息管理系统

✍✍计算机编程指导师 ⭐⭐个人介绍&#xff1a;自己非常喜欢研究技术问题&#xff01;专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目&#xff1a;有源码或者技术上的问题欢迎在评论区一起讨论交流&#xff01; ⚡⚡ Java实战 |…

ArcGIS学习(三)数据可视化

ArcGIS学习(三)数据可视化 1.矢量数据可视化 需要提前说明的是,在ArcGIS中,所有的可视化选项设置都是在“图层属性”对话框里面的“符号系统”中实现的。 对于矢量数据的可视化,主要有四种可视化方式: 按“要素”可视化按“类别”可视化按“数量”可视化按“图表”可视…

【Elasticsearch】从入门到精通

目前java常见的针对大数据存储的方案并不多&#xff0c;常见的就是mysql的分库分表、es存储 这里偏向es存储方案&#xff0c;es不同的版本之间其实差异还挺大的&#xff0c;本篇博文版本Elasticsearch 7.14.0 Springboot整合Easy-Es Easy-Es官方文档 Elasticsearch的初步认识 …