北理计算机学院2001年机试真题

2024-03-30 12:38

本文主要是介绍北理计算机学院2001年机试真题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

北京理工大学计算机学院复试上机题目

  由于编者水平有限,如有错误,请多多包涵。欢迎各位指正,如有交流请加QQ1585583870,转载请注明,谢谢合作!

A部分

1. 编写程序,计算下列分段函数 y=f(x)的值。

y= -x+2.5,0<= x <2

y=2-1.5(x-3)(x-3),2<= x<4

y=x/2-1.5,4<= x <6。

 


2. 编写程序,读入一个整数 N。若 N 为非负数,则计算 N 到 2N 之间的整数和;若 N 为一个负数,则求 2N 到 N 之间的整数和。

 

3. 设 N 是一个四位数,它的 9 倍恰好是其反序数(例如:1234的反序数是 4321),求 N 的值。

 

4. N 个人围成一圈顺序编号,从 1 号开始按 1、2、 3 顺序报数,报 3 者退出圈外,其余的人再从1、2、 3 开始报数,报 3 的人再退出圈外,依次类推。请按退出顺序输出每个退出人的原序号。要求使用环形链表编程。

#include<iostream>
using namespace std;struct Node{int number;Node *next;
};int main(){int n;cout<<"请输入人数n:";cin>>n;// 判错if(n<=0){cout<<"输入不合法!"<<endl;return 0;}// 构造循环链表Node *l,*p;l=(Node *)malloc(sizeof(Node));l->number=1;l->next=l;p=l;for(int i=2;i<=n;i++){Node *q;q=(Node *)malloc(sizeof(Node));q->number=i;q->next=p->next;p->next=q;p=q;}// 当前人数int k=n;// 现在,p结点指向lp=l;while(k>0){p=p->next;p=p->next;// 输出现在退出的位置cout<<p->number<<" ";// 删除结点if(p->next!=p){p->number=p->next->number;// 释放空间Node *q;q=p->next;p->next=q->next;free(q);}elsefree(p);k--;}return 0;
}

补充使用顺序表(数组)的做法:

#include<iostream>
using namespace std;int main(){int n,count=1,i=0;int p[100]={0};cout<<"请输入人数n:";cin>>n;// count记录退出的序号,i记录当前报数的位置,n是总人数while(count<=n){// 当遇到值为0,表明此位置还未退出,i++;否则,该位置已退出,忽略该位置for(int flag=1;flag<=3;i=(i+1)%n)if(p[i]==0)flag++;// 回退最后一次无效的i++;加n的作用是补正i=(i+n-1)%n;// 在数组当前位置上,记录退出的序号p[i]=count++;}// 按退出的顺序,输出位置for(int k=1;k<=n;k++)for(int j=0;j<n;j++)if(p[j]==k)cout<<j+1<<" ";cout<<endl;return 0;
}

B部分

1. 请输入高度 h,输入一个高为 h,上底边长为 h的等腰梯形(例如 h=4,图形如下)。

       ****

     ******

   ********

 **********

#include<iostream>
using namespace std;int main(){int h;cout<<"请输入h的值:";cin>>h;for(int i=0;i<h;i++){for(int j=0;j<h-i-1;j++)cout<<" ";for(int k=0;k<h+i*2;k++)cout<<"*";cout<<endl;}return 0;
}

2. 请编写一个程序,从键盘上输入 n(n 的范围是1~20),求 n 的阶乘。

#include<iostream>
using namespace std;int f(int k){if(k==0)return 1;return k*f(k-1);
}int main(){int n;cin>>n;cout<<f(n)<<endl;return 0;
}

3. 从键盘上任意输入一个长度不超过 20 的字符串,对所输入的字符串,按照 ASCII 码的大小从小到大进行排序,请输出排序后的结果。

#include<iostream>
#include<string>
#include<algorithm>
using namespace std;int main(){string str;cout<<"请输入字符串:";cin>>str;sort(str.begin(),str.end());cout<<"排序后的结果为:"<<str<<endl;return 0;
}

这篇关于北理计算机学院2001年机试真题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/861508

相关文章

计算机毕业设计 大学志愿填报系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能

机试算法模拟题 服务中心选址

题目描述 一个快递公司希望在一条街道建立新的服务中心。公司统计了该街道中所有区域在地图上的位置,并希望能够以此为依据为新的服务中心选址:使服务中心到所有区域的距离的总和最小。 给你一个数组positions,其中positions[i] = [left, right] 表示第 i 个区域在街道上的位置,其中left代表区域的左侧的起点,right代表区域的右侧终点,假设服务中心的位置为loca

计算机视觉工程师所需的基本技能

一、编程技能 熟练掌握编程语言 Python:在计算机视觉领域广泛应用,有丰富的库如 OpenCV、TensorFlow、PyTorch 等,方便进行算法实现和模型开发。 C++:运行效率高,适用于对性能要求严格的计算机视觉应用。 数据结构与算法 掌握常见的数据结构(如数组、链表、栈、队列、树、图等)和算法(如排序、搜索、动态规划等),能够优化代码性能,提高算法效率。 二、数学基础

java计算机毕设课设—停车管理信息系统(附源码、文章、相关截图、部署视频)

这是什么系统? 资源获取方式在最下方 java计算机毕设课设—停车管理信息系统(附源码、文章、相关截图、部署视频) 停车管理信息系统是为了提升停车场的运营效率和管理水平而设计的综合性平台。系统涵盖用户信息管理、车位管理、收费管理、违规车辆处理等多个功能模块,旨在实现对停车场资源的高效配置和实时监控。此外,系统还提供了资讯管理和统计查询功能,帮助管理者及时发布信息并进行数据分析,为停车场的科学

华为OD机试真题-学生方阵-2024年OD统一考试(E卷)

题目描述 学校组织活动,将学生排成一个矩形方阵。 请在矩形方阵中找到最大的位置相连的男生数量。这个相连位置在一个直线上,方向可以是水平的,垂直的,成对角线的或者呈反对角线的。 注:学生个数不会超过10000 输入描述 输入的第一行为矩阵的行数和列数, 接下来的 n行为矩阵元素,元素间用""分隔。 输出描述 输出一个整数,表示矩阵中最长的位

2024年AMC10美国数学竞赛倒计时两个月:吃透1250道真题和知识点(持续)

根据通知,2024年AMC10美国数学竞赛的报名还有两周,正式比赛还有两个月就要开始了。计划参赛的孩子们要记好时间,认真备考,最后冲刺再提高成绩。 那么如何备考2024年AMC10美国数学竞赛呢?做真题,吃透真题和背后的知识点是备考AMC8、AMC10有效的方法之一。通过做真题,可以帮助孩子找到真实竞赛的感觉,而且更加贴近比赛的内容,可以通过真题查漏补缺,更有针对性的补齐知识的短板。

《计算机视觉工程师养成计划》 ·数字图像处理·数字图像处理特征·概述~

1 定义         从哲学角度看:特征是从事物当中抽象出来用于区别其他类别事物的属性集合,图像特征则是从图像中抽取出来用于区别其他类别图像的属性集合。         从获取方式看:图像特征是通过对图像进行测量或借助算法计算得到的一组表达特性集合的向量。 2 认识         有些特征是视觉直观感受到的自然特征,例如亮度、边缘轮廓、纹理、色彩等。         有些特征需要通

【python计算机视觉编程——7.图像搜索】

python计算机视觉编程——7.图像搜索 7.图像搜索7.1 基于内容的图像检索(CBIR)从文本挖掘中获取灵感——矢量空间模型(BOW表示模型)7.2 视觉单词**思想****特征提取**: 创建词汇7.3 图像索引7.3.1 建立数据库7.3.2 添加图像 7.4 在数据库中搜索图像7.4.1 利用索引获取获选图像7.4.2 用一幅图像进行查询7.4.3 确定对比基准并绘制结果 7.

【python计算机视觉编程——8.图像内容分类】

python计算机视觉编程——8.图像内容分类 8.图像内容分类8.1 K邻近分类法(KNN)8.1.1 一个简单的二维示例8.1.2 用稠密SIFT作为图像特征8.1.3 图像分类:手势识别 8.2贝叶斯分类器用PCA降维 8.3 支持向量机8.3.2 再论手势识别 8.4 光学字符识别8.4.2 选取特征8.4.3 多类支持向量机8.4.4 提取单元格并识别字符8.4.5 图像校正

Python计算机视觉编程 第十章

目录 一、OpenCv基础知识 1.读取和写入图像 2.颜色空间 3.显示图像和结果 二、处理视频 1.输入视频 2.将视频读取到NumPy数组中 三、跟踪 1.光流 2.Lucas-Kanade算法 一、OpenCv基础知识 OpenCV 自带读取、写入图像函数以及矩阵操作和数学库。 1.读取和写入图像 import cv2# 读取图像im = c