PTA复习
函数
6-1 学生类的构造与析构
#include<bits/stdc++.h>
using namespace std;
class Student
{int num;string name;char sex;
public:Student(int n,string nam,char s):num(n),name(nam),sex(s){cout<<"Constructor called."<<endl;}void display(){cout<<"num:"<<num<<endl;cout<<"name:"<<name<<endl;cout<<"sex:"<<sex<<endl;cout<<endl;}~Student(){cout<<"Destructor called."<<endl;}
};
6-2 体育俱乐部I(构造函数)
Club::Club(string n1, int y, string n2, int wr):name(n1),year(y),c(n2,wr)
{}
void Coach::show(){cout<<name<<" "<<winRate<<"%"<<endl;
}
void Club::show(){cout<<name<<" "<<year<<endl;c.show();
}
6-3 学生成绩的快速录入(构造函数)
class Student
{int no,score;
public:static int count;Student(int n,int s):no(n),score(s){count++;}Student(const Student& s):no(s.no+1),score(s.score){count++;}void display(){cout<<no<<" ";if(score==1)cout<<"Pass"<<endl;else cout<<"Fail"<<endl;}
};
int Student::count=0;
6-4 客户机类
#include<iostream>
using namespace std;
class Client
{static char ServerName;static int ClientNum;
public:Client(){ClientNum++;};static void changeServerName(char a);//注意没有大括号!!!,只是声明static void show();
};
char Client::ServerName='A';
int Client::ClientNum=0;
void Client::changeServerName(char a){ServerName=a;
}
void Client::show(){cout<<"server name:"<<ServerName<<endl;cout<<"num of clients:"<<ClientNum<<endl;
}
//注意都是静态成员函数,在类外定义;
6-5 学生成绩的输入和输出(运算符重载)
class Student
{string name;int score;static int num;//因为需要输出学生序号,可以在输出时++
public:friend istream& operator>>(istream& is,Student& s);friend ostream& operator<<(ostream& os,Student& s);
};
int Student::num=1;
istream& operator>>(istream& is,Student& s){is>>s.name>>s.score;return is;
}
ostream& operator<<(ostream& os,Student& s){os<<Student::num++<<". "<<s.name<<" ";//num注意前面加上Student::if(s.score>=60)cout<<"PASS";else cout<<"FAIL";
}
6-6 时钟模拟
#include<bits/stdc++.h>
using namespace std;
class MyTime
{int h,m,s;
public:MyTime(int h=0,int m=0,int s=0):h(h),m(m),s(s){}friend istream& operator>>(istream& is,MyTime& s);friend ostream& operator<<(ostream& os,MyTime& s);MyTime operator++();
};
istream& operator>>(istream& is,MyTime& s)
{is>>s.h>>s.m>>s.s;return is;
}
ostream& operator<<(ostream& os,MyTime& s)
{os<<s.h<<":"<<s.m<<":"<<s.s;return os;
}
MyTime MyTime::operator++()
{s++;if(s==60){m++,s=0;}if(m==60){h++,m=0;}h%=24;return *this;
}
6-7 使用成员函数重载复数类的运算符+
Complex& Complex::operator+(Complex& com)
{com.realPart+=this->realPart;//com.realPart+=realPartcom.imgPart+=this->imgPart;//com.imgPart+=imgPart;return com;
}
// 因为有引用所以错误(指针错误,即段错误)
// Complex& Complex::operator+(Complex& com)
// {
// Complex c3;
// c3.realPart=com.realPart+this->realPart;
// c3.imgPart=com.imgPart+this->imgPart;
// return c3;
// }
6-8 多重继承派生类构造函数
class Graduate:public Teacher,public Student
{
public:Graduate(string nam,int a,char s,string t,float sco,float w):Student(nam,s,sco),Teacher(nam,a,t),wages(w){}void show(){cout<<"name:"<<name<<endl;cout<<"age:"<<age<<endl;cout<<"sex:"<<sex<<endl;cout<<"score:"<<score<<endl;cout<<"title:"<<title<<endl;cout<<"wages:"<<wages<<endl;}
private:float wages;
};
//注意不要用在类对象里声明,否则是错误的
//发现上面两个类定义的display()没有用处
6-9 抽象类Shape
class Rectangle:public Shape//对于这道题,不用继承也对,因为源代码中声明基类指针,但是没用到,所以可以不用虚函数
{double w,h;
public:Rectangle(double w,double h):w(w),h(h){}double getArea(){return w*h;}double getPerim(){return 2*(w+h);}
};
class Circle:public Shape
{double r;
public:Circle(double r):r(r){}double getArea(){return 3.14*r*r;}double getPerim(){return 2*3.14*r;}
};
6-10 有序数组(类模板)
template <class T>
class MyArray
{
private:T *data;//数组类型int size;
public:MyArray(int n);~MyArray();bool check();void display();void sort();
};template<class T>
MyArray<T>::MyArray(int n)
{size=n;data=new T[n];for(int i=0; i<n; i++)cin>>data[i];
}template<class T>
void MyArray<T>::sort()
{for(int i=1;i<size;i++){for(int j=0;j<size-i;j++){if(data[j]>data[j+1]){T temp=data[j];data[j]=data[j+1];data[j+1]=temp;}}}
}template<class T>
void MyArray<T>::display()
{for(int i=0; i<size; i++){if(i!=0)cout<<" "<<data[i];//注意格式错误,一行后面没有空格else cout<<data[i];}cout<<endl;
}
编程
7-1 字符串替换
#include<bits/stdc++.h>
using namespace std;
void slove(){string a;getline(cin,a);while(1){//a表示总的,b表示每一行的字符串a+='\n';string b;getline(cin,b);if(b=="end")break;a+=b;}string c1,c2;cin>>c1>>c2;int temp=a.find(c1);//找到的是下标while(temp!=-1){a.replace(temp,c1.size(),c2);//用c2替换指定字符串从起始位置temp开始长度为ca.size()的字符 temp=a.find(c1,temp+1);}cout<<a;
}
int main(){slove();
}
7-2 类的定义和使用
#include<bits/stdc++.h>
using namespace std;
int main()
{int a,b,c,d;cin>>a>>b>>c>>d;cout<<a+c<<" "<<b+d;
}
// class Point
// {
// int x,y;
// int x1,y1;
// public:
// Point(int a,int b)
// {
// x=a;
// y=b;
// }
// ~Point(){}
// void work(Point p2)
// {
// x1=x+p2.x;
// y1=y+p2.y;
// }
// int getx1()
// {
// return x1;
// }
// int gety1()
// {
// return y1;
// }
// };
// int main()
// {
// int a,b,c,d;
// cin>>a>>b>>c>>d;
// Point p1(a,b),p2(c,d);
// p1.work(p2);
// cout<<p1.getx1()<<" "<<p1.gety1();
// }
7-5 2017final函数模板
#include<bits/stdc++.h>
using namespace std;
class Complex
{double a,b,c;
public:Complex(double a,double b,double c):a(a),b(b),c(c){}friend double operator - (Complex a, Complex b);
};double operator - (Complex a,Complex b){return sqrt(pow(a.a-b.a,2)+pow(a.b-b.b,2)+pow(a.c-b.c,2));
}template <class T>
double dist(T a,T b){return abs(a-b);
}int main(){int n;while(cin>>n){//如果用switch语句,一个变量名在多个case中不能使用。不能同用变量名!if(n==1){int a,b;cin>>a>>b;cout<<dist(a,b)<<endl;}else if (n==2){double a,b;cin>>a>>b;cout<<dist(a,b)<<endl;}else if (n==3){double a1,a2,a3,b3,b1,b2;cin>>a1>>a2>>a3>>b1>>b2>>b3;Complex a(a1,a2,a3),b(b1,b2,b3);cout<<dist(a,b)<<endl;}}return 0;
}
//下面是switch语句
// #include<bits/stdc++.h>
// using namespace std;
// class Complex
// {
// double a,b,c;
// public:
// Complex(double a,double b,double c):a(a),b(b),c(c){}
// friend double operator - (Complex a, Complex b);
// };
// double operator - (Complex a,Complex b){
// return sqrt(pow(a.a-b.a,2)+pow(a.b-b.b,2)+pow(a.c-b.c,2));
// }
// template <class T>
// double dist(T a,T b){
// return abs(a-b);
// }
// int main(){
// int n;
// while(cin>>n){
// switch(n){
// case 1:
// int a,b;
// cin>>a>>b;
// cout<<dist(a,b)<<endl;
// break;
// case 2:
// double c,d;
// cin>>c>>d;
// cout<<dist(c,d)<<endl;
// break;
// case 3:
// double a1,a2,a3,b3,b1,b2;
// cin>>a1>>a2>>a3>>b1>>b2>>b3;
// Complex e(a1,a2,a3),f(b1,b2,b3);
// cout<<dist(e,f)<<endl;
// break;
// }
// }
// return 0;
// }
7-6 统计单词的数量并输出单词的最后一个字符
#include<bits/stdc++.h>
using namespace std;
int main()
{string s;getline(cin,s,'\n');int k=0;for(int i=1;i<=s.size();i++){if(s[i]==' '&&s[i-1]!=' '){cout<<s[i-1];k++;}}if(s[s.size()-1]!=' ')//特殊样例,最后输入空空空{cout<<s[s.size()-1];k++;}cout<<endl;cout<<k;
}
7-7 组最大数
#include<bits/stdc++.h>
using namespace std;
bool cmp(const string& a,const string& b)
{return (a+b) > (b+a);
}
int main()
{int n;while(cin>>n) {string s;vector<string> v;while(n--) {cin>>s;v.push_back(s);}sort(v.begin(),v.end(),cmp);string res="";for(int i=0;i<v.size();i++) res+=v[i];cout<<res<<endl;}
}
7-8 字符串排序--string类的使用
#include<bits/stdc++.h>
using namespace std;
int main()
{int n;while(cin>>n){vector<string> v;string s;getchar();//cin.get()while( (n--) && getline(cin,s) && s!="stop" )v.push_back(s);for(int i=1;i<v.size();i++){for(int j=0;j<v.size()-i;j++){if(v[j].size()>v[j+1].size()){string s=v[j];v[j]=v[j+1];v[j+1]=s;}}}for(int i=0,n=v.size();i<n;++i) cout<<v[i]<<endl;}
}//用cpm部分正确,有原因百度
// #include<bits/stdc++.h>
// using namespace std;
// bool cmp(const string& a,const string& b)
// {
// if(a.size()==b.size())return a.size()>b.size();//如果存在多个字符串长度相同,则按照原始输入顺序输出。
// return a.size()<b.size();
// }
// int main()
// {
// int n;
// while(cin>>n)
// {
// vector<string> v;
// string s;
// getchar();//或者cin.get();
// while( (n--) && getline(cin,s) && s!="stop" )
// v.push_back(s);
// sort(v.begin(),v.end(),cmp);
// for(int i=0,n=v.size();i<n;++i) cout<<v[i]<<endl;
// }
// }
相关文章:
PTA复习
函数 6-1 学生类的构造与析构 #include<bits/stdc.h> using namespace std; class Student {int num;string name;char sex; public:Student(int n,string nam,char s):num(n),name(nam),sex(s){cout<<"Constructor called."<<endl;}void display…...
TypeScript 学习之接口
接口:对值所具有的结构进行类型检查,称为“鸭式变型法”或“结构性子类型化” 基本使用 interface LabelledValue {label: string; }function printLabel(labelledObj: LabelledValue) {console.log(labelledObj.label); }let myObj {size: 10, label:…...
原码反码补码
在计算机中,负数都是以补码的形式存放的, 正数的原码、反码、补码完全一致。 原码:指的是正数的二进制或负数的二进制, 负数的二进制(原码),其实就是在正数的二进制的最高位前面加一个符号位 1。…...
大数据选股智能推荐系统V1.0-1
很长时间没有发布博客了,这段时间个人确实有点忙。另外一方面在这段时间我也没有闲着。自己研发了一套大数据选股的智能推荐系统。废话不说,我们先来看这套系统:登录页面:(技术点:验证码的生成)…...
调研生成GIF表情包之路
调研阶段 gifshot.js合成GIF 可以从媒体流、视频或图像创建动画 GIF 的 JavaScript 库。 csdn地址:https://blog.csdn.net/qq_16494241/article/details/125717405 分解GIF图片、合成GIF图片 两步走: 1、分解GIF图片 libgif-js:JavaScrip…...
【RocketMQ】源码详解:生产者启动与消息发送流程
消息发送 生产者启动 入口 : org.apache.rocketmq.client.impl.producer.DefaultMQProducerImpl#start(boolean) 生产者在调用send()方法发送消息之前,需要调用start进行启动, 生产者启动过程中会启动一些服务和线程 启动过程中会启动MQClientInstance, 这个实例是针对一个项…...
信息安全(一)
思维导图 一、AES加解密 1.概述 1.1 概念 AES: 高级加密标准(Advanced Encryption Standard)是一种对称加密的区块加密标准。 (1)替代DES的新一代分组加密算法 (2)支持三种长度密钥&#x…...
企业多会场视频直播(主会场、分会场直播)实例效果
阿酷TONY 2023-2-16 长沙 活动直播做多会场切换功能(主会场、分会场、会场一、会场二、会场三自由切换) 企业多会场视频直播(主会场、分会场直播)实例效果 特点:支持PC端,也支持移动端观看,会…...
线性代数速览(一)行列式
文章目录行列式🌻 行列式的定义🌼 行列式的性质🌷 一些定理🥀 行列式的计算🌺 克莱姆法则行列式 行列式的本质,就是一个数值。 🌻 行列式的定义 有三种定义:1、按行展开ÿ…...
恭喜山东翰林“智慧园区管理系统”获易知微可视化设计大赛二等奖
数字化经济发展是全球经济发展的重中之重,“数字孪生(Digital Twin)”这一词汇正在成为学术界和产业界的一个热点。数字孪生作为近年来的新兴技术,其与国民经济各产业融合不断深化,推动着各大产业数字化、网络化、智能…...
gulp简单使用
gulp gulp的核心理念是task runner 可以定义自己的一系列任务 等待任务被执行 基于文件stream的构建流 我们可以使用gulp的插件体系来完成某些任务 webpack的核心理念是module bundler webpack是一个模块化的打包工具 可以使用各种各样的loader来加载不同的模块 可以使用各种…...
ce认证机构如何选择?
CE认证想必大家都已经有所了解,它是产品进入欧盟销售的通行证,那么我们在办理CE认证时该怎么进行选择?带大家了解一下CE认证机构,以及该怎么去进行选择? 以下信息由证果果编辑整理,更多认证机构信息请到证果果网站查看。找机构…...
全网招募P图高手!阿里巴巴持续训练鉴假AI
P过的证件如何鉴定为真?三千万网友都晒出了与梅西的合影?图像编辑技术的普及让人人都能P图,但也带来“假图”识别难题,甚至是欺诈问题。 为此,阿里安全联合华中科技大学国家防伪工程中心、国际文档分析识别方向的唯一顶…...
webrtc QOS笔记一 Neteq直方图算法浅读
webrtc QOS笔记一 Neteq直方图算法浅读 文章目录webrtc QOS笔记一 Neteq直方图算法浅读Histogram Algorithm获取目标延迟遗忘因子曲线Histogram Algorithm DelayManager::Update()->Histogram::Add() 会根据计算的iat_packet(inter arrival times, 实际包间间隔 / 打包时长…...
细分和切入点
本文重点介绍做SEO网站细分和切入点的方法:当我们的行业和关键词竞争性比较大的时候,我们可以考虑对行业或者产品做细分,从而找到切入点。可以按照以下三个方面进行细分。1、按城市细分例如:A:餐饮培训,当前…...
iOS创建Universal Link
iOS 9之前,一直使用的是URL Schemes技术来从外部对App进行跳转,但是iOS系统中进行URL Schemes跳转的时候如果没有安装App,会提示无法打开页面的提示。 iOS 9之后起可以使用Universal Links技术进行跳转页面,这是一种体验更加完美的…...
RuoYi-Vue搭建(若依)
项目简介 RuoYi-Vue基于SpringBootVue前后端分离的Java快速开发框架1.前端采用Vue、Element UI2.后端采用Spring Boot、Spring Security、Redis & Jwt3.权限认证使用Jwt,支持多终端认证系统4.支持加载动态权限菜单,多方式轻松权限控制5.高效率开发&a…...
进程组和用处
进程组:一个或多个进程的集合,进程组id是一个正整数。组长进程:进程组id 进程id组长进程可以创建一个进程组,创建该进程组的进程,终止了,只要进程组有一个进程存在,进程组就存在,与…...
Nacos集群+Nginx负载均衡
搭建Nacos集群 注意: 3个或3个以上Nacos节点才能构成集群。要求服务器内存分配最好大于6G以上(如果不够则需修改nacos启动脚本中的默认内存配置)根据nacos自带的mysql建库脚本建立对应数据库(/conf/nacos-mysql.sql)如果是三台服…...
TypeScript 学习之类型兼容
TypeScript 的类型兼容性是基于结构子类型的。 结构类型是一种只使用其成员来描述类型的方式。 interface Named {name: string; }class Person {name: string; }let p: Named; p new Person();// 赋值成功,因为都是结构类型,只要Person 类型的包含 Nam…...
Linux软件管理RPM
目录 前言 RPM软件管理程序:rpm RPM默认安装的路径 PRM讲解前准备工作 RPM安装(install) RPM查询(query) RPM卸载(erase) RPM升级与更新(upgrade/freshen) RPM重…...
01背包问题
背包问题的递归解决过程如下: 第一步明确思路 在解决问题之前,为描述方便,首先定义一些变量:Vi表示第 i 个物品的价值,Wi表示第 i 个物品的体积,定义V(i,j):当前背包容量 j,前 i 个…...
14_FreeRTOS二值信号量
目录 信号量的简介 队列与信号量的对比 二值信号量 二值信号量相关API函数 实验源码 信号量的简介 信号量是一种解决同步问题的机制,可以实现对共享资源的有序访问。 假设有一个人需要在停车场停车 1.首先判断停车场是否还有空车位(判断信号量是否有资源) 2.停车场正好…...
JavaScript随手笔记---轮播图(点击切换)
💌 所属专栏:【JavaScript随手笔记】 😀 作 者:我是夜阑的狗🐶 🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询! &#…...
机器人学 markdown数学公式常用语法
参考链接1 本文包含了markdown常用的数学公式,按照目录可查询选用 初始类 行内数学公式均用两个符号包裹行间数学公式均用两个符号包裹 行间数学公式均用两个符号包裹行间数学公式均用两个符号包裹,用于表示重要的、需在行间单独列出的公式 $行内数学…...
如何使用 Python 语言来编码和解码 JSON 对象
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于人阅读和编写。 JSON 函数 使用 JSON 函数需要导入 json 库:import json。 函数 描述 json.dumps 将 Python 对象编码成 JSON 字符串 json.loads 将已编码的 JSON 字符串解码为 Pyth…...
【蓝桥云课】求正整数的约数个数
一、求正整数n的约数个数 方法一(常用算法):从1到n逐一判断其能否整除n,若能整除n即为n的约数,否则不是n的约数。 方法二:从1到n\sqrt{n}n逐一判断是否为n的约数,当n\sqrt{n}n为n的约数时,个数加1&…...
刷题记录: wannafly25 E 牛客NC19469 01串 [线段树维护动态dp]
传送门:牛客 题目描述: Bieber拥有一个长度为n的01 串,他每次会选出这个串的一个子串作为曲谱唱歌,考虑该子串从左 往右读所组成的二进制数P。 Bieber每一秒歌唱可以让P增加或减少 2 的 k次方(k由Bieber选 定),但必须…...
懂九转大肠的微软New Bing 内测申请教程
最近微软的New Bing开放内测了,网上已经有拿到内测资格的大佬们对比了ChatGPT和New Bing。对比结果是New Bing比ChatGPT更强大。来看看具体对比例子吧 1.时效性更强 ChatGPT的库比较老,跟不上时事,比如你问它九转大肠的梗,ChatG…...
WRAN翻译
基于小波的图像超分辨残差注意力网络 Wavelet-based residual attention network for image super-resolution 代码: https://github.com/xueshengke/WRANSR-keras 摘要: 图像超分辨率技术是图像处理和计算机视觉领域的一项基础技术。近年来,…...
一个新网站要怎么做seo/西部数码域名注册官网
jsp使用jdk8时,需要tomcat7以及以上版本,jsp在使用jdk7的时候,tomcat使用tomcat6即可...
ps切片怎么做网站/南宁seo计费管理
删除字典中的null 我们在处理数据库接口的过程中,如果数据中出现null,我们是没法处理的。我在使用NSUserDaults保存后,出现崩溃。 null产生原因 null是后台在处理数据的时候,如果没有设置value值,数据库默认填充的值。…...
asp伪静态网站如何做筛选/网站标题seo外包优化
承接上文: Docker进阶篇教程,docker-compose, docker swarm, 弹性、扩缩容 Docker进阶篇教程9. 体会swarm弹性、扩缩容9.1 理解扩缩容9.2 docker service命令9.3 理解灰度发布9.4 replicas 3个副本测试9.5 replicas 10个副本测试9.6 scale命令扩缩容1…...
厦门企业建站系统模板/公司网站推广方案
数据 3 分钟由 ACDU (中国 DBA 联盟) 与墨天轮联合出品的全新视频节目上线啦~三分钟带你来了解数据行业动态,节目内容主要包含数据行业最新的产品发布、公司大事件、行业新闻等。每周五更新,不见不散~本期内容概览:202…...
那个网站专利分析做的好/百度建站云南服务中心
有时候我们需要对其它应用程序发送和接收的网络数据进行拦截,比如要对IE发送的**头进行分析,得到请求的地址等.这次我们可以用一些例如WPE, Sniffer之类的工具来达到目的.但是工具功能有限,要想实现更强大的功能,还是我们自己动手来DIY吧.拦截网络数据封包的方法有三种,一是将网…...
济南市个人网站制作/谷歌平台推广外贸
1. 简单三级联动 效果图: 思想:当选择省时,创建对应的市子对象,并将其加入父元素中。当选择某一个市时,创建对应的区子对象,并将其加入父元素中。当选择其他省/市时,对应的市、区/区的选项都变…...