当前位置: 首页 > news >正文

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 学习之接口

接口&#xff1a;对值所具有的结构进行类型检查&#xff0c;称为“鸭式变型法”或“结构性子类型化” 基本使用 interface LabelledValue {label: string; }function printLabel(labelledObj: LabelledValue) {console.log(labelledObj.label); }let myObj {size: 10, label:…...

原码反码补码

在计算机中&#xff0c;负数都是以补码的形式存放的&#xff0c; 正数的原码、反码、补码完全一致。 原码&#xff1a;指的是正数的二进制或负数的二进制&#xff0c; 负数的二进制&#xff08;原码&#xff09;&#xff0c;其实就是在正数的二进制的最高位前面加一个符号位 1。…...

大数据选股智能推荐系统V1.0-1

很长时间没有发布博客了&#xff0c;这段时间个人确实有点忙。另外一方面在这段时间我也没有闲着。自己研发了一套大数据选股的智能推荐系统。废话不说&#xff0c;我们先来看这套系统&#xff1a;登录页面&#xff1a;&#xff08;技术点&#xff1a;验证码的生成&#xff09;…...

调研生成GIF表情包之路

调研阶段 gifshot.js合成GIF 可以从媒体流、视频或图像创建动画 GIF 的 JavaScript 库。 csdn地址&#xff1a;https://blog.csdn.net/qq_16494241/article/details/125717405 分解GIF图片、合成GIF图片 两步走&#xff1a; 1、分解GIF图片 libgif-js&#xff1a;JavaScrip…...

【RocketMQ】源码详解:生产者启动与消息发送流程

消息发送 生产者启动 入口 : org.apache.rocketmq.client.impl.producer.DefaultMQProducerImpl#start(boolean) 生产者在调用send()方法发送消息之前,需要调用start进行启动, 生产者启动过程中会启动一些服务和线程 启动过程中会启动MQClientInstance, 这个实例是针对一个项…...

信息安全(一)

思维导图 一、AES加解密 1.概述 1.1 概念 AES&#xff1a; 高级加密标准&#xff08;Advanced Encryption Standard&#xff09;是一种对称加密的区块加密标准。 &#xff08;1&#xff09;替代DES的新一代分组加密算法 &#xff08;2&#xff09;支持三种长度密钥&#x…...

企业多会场视频直播(主会场、分会场直播)实例效果

阿酷TONY 2023-2-16 长沙 活动直播做多会场切换功能&#xff08;主会场、分会场、会场一、会场二、会场三自由切换&#xff09; 企业多会场视频直播&#xff08;主会场、分会场直播&#xff09;实例效果 特点&#xff1a;支持PC端&#xff0c;也支持移动端观看&#xff0c;会…...

线性代数速览(一)行列式

文章目录行列式&#x1f33b; 行列式的定义&#x1f33c; 行列式的性质&#x1f337; 一些定理&#x1f940; 行列式的计算&#x1f33a; 克莱姆法则行列式 行列式的本质&#xff0c;就是一个数值。 &#x1f33b; 行列式的定义 有三种定义&#xff1a;1、按行展开&#xff…...

恭喜山东翰林“智慧园区管理系统”获易知微可视化设计大赛二等奖

数字化经济发展是全球经济发展的重中之重&#xff0c;“数字孪生&#xff08;Digital Twin&#xff09;”这一词汇正在成为学术界和产业界的一个热点。数字孪生作为近年来的新兴技术&#xff0c;其与国民经济各产业融合不断深化&#xff0c;推动着各大产业数字化、网络化、智能…...

gulp简单使用

gulp gulp的核心理念是task runner 可以定义自己的一系列任务 等待任务被执行 基于文件stream的构建流 我们可以使用gulp的插件体系来完成某些任务 webpack的核心理念是module bundler webpack是一个模块化的打包工具 可以使用各种各样的loader来加载不同的模块 可以使用各种…...

ce认证机构如何选择?

CE认证想必大家都已经有所了解&#xff0c;它是产品进入欧盟销售的通行证&#xff0c;那么我们在办理CE认证时该怎么进行选择?带大家了解一下CE认证机构&#xff0c;以及该怎么去进行选择? 以下信息由证果果编辑整理&#xff0c;更多认证机构信息请到证果果网站查看。找机构…...

全网招募P图高手!阿里巴巴持续训练鉴假AI

P过的证件如何鉴定为真&#xff1f;三千万网友都晒出了与梅西的合影&#xff1f;图像编辑技术的普及让人人都能P图&#xff0c;但也带来“假图”识别难题&#xff0c;甚至是欺诈问题。 为此&#xff0c;阿里安全联合华中科技大学国家防伪工程中心、国际文档分析识别方向的唯一顶…...

webrtc QOS笔记一 Neteq直方图算法浅读

webrtc QOS笔记一 Neteq直方图算法浅读 文章目录webrtc QOS笔记一 Neteq直方图算法浅读Histogram Algorithm获取目标延迟遗忘因子曲线Histogram Algorithm DelayManager::Update()->Histogram::Add() 会根据计算的iat_packet(inter arrival times, 实际包间间隔 / 打包时长…...

细分和切入点

本文重点介绍做SEO网站细分和切入点的方法&#xff1a;当我们的行业和关键词竞争性比较大的时候&#xff0c;我们可以考虑对行业或者产品做细分&#xff0c;从而找到切入点。可以按照以下三个方面进行细分。1、按城市细分例如&#xff1a;A&#xff1a;餐饮培训&#xff0c;当前…...

iOS创建Universal Link

iOS 9之前&#xff0c;一直使用的是URL Schemes技术来从外部对App进行跳转&#xff0c;但是iOS系统中进行URL Schemes跳转的时候如果没有安装App&#xff0c;会提示无法打开页面的提示。 iOS 9之后起可以使用Universal Links技术进行跳转页面&#xff0c;这是一种体验更加完美的…...

RuoYi-Vue搭建(若依)

项目简介 RuoYi-Vue基于SpringBootVue前后端分离的Java快速开发框架1.前端采用Vue、Element UI2.后端采用Spring Boot、Spring Security、Redis & Jwt3.权限认证使用Jwt&#xff0c;支持多终端认证系统4.支持加载动态权限菜单&#xff0c;多方式轻松权限控制5.高效率开发&a…...

进程组和用处

进程组&#xff1a;一个或多个进程的集合&#xff0c;进程组id是一个正整数。组长进程&#xff1a;进程组id 进程id组长进程可以创建一个进程组&#xff0c;创建该进程组的进程&#xff0c;终止了&#xff0c;只要进程组有一个进程存在&#xff0c;进程组就存在&#xff0c;与…...

Nacos集群+Nginx负载均衡

搭建Nacos集群 注意: 3个或3个以上Nacos节点才能构成集群。要求服务器内存分配最好大于6G以上&#xff08;如果不够则需修改nacos启动脚本中的默认内存配置&#xff09;根据nacos自带的mysql建库脚本建立对应数据库&#xff08;/conf/nacos-mysql.sql&#xff09;如果是三台服…...

TypeScript 学习之类型兼容

TypeScript 的类型兼容性是基于结构子类型的。 结构类型是一种只使用其成员来描述类型的方式。 interface Named {name: string; }class Person {name: string; }let p: Named; p new Person();// 赋值成功&#xff0c;因为都是结构类型&#xff0c;只要Person 类型的包含 Nam…...

Linux软件管理RPM

目录 前言 RPM软件管理程序&#xff1a;rpm RPM默认安装的路径 PRM讲解前准备工作 RPM安装&#xff08;install&#xff09; RPM查询&#xff08;query&#xff09; RPM卸载&#xff08;erase&#xff09; RPM升级与更新&#xff08;upgrade/freshen&#xff09; RPM重…...

01背包问题

背包问题的递归解决过程如下&#xff1a; 第一步明确思路 在解决问题之前&#xff0c;为描述方便&#xff0c;首先定义一些变量&#xff1a;Vi表示第 i 个物品的价值&#xff0c;Wi表示第 i 个物品的体积&#xff0c;定义V(i,j)&#xff1a;当前背包容量 j&#xff0c;前 i 个…...

14_FreeRTOS二值信号量

目录 信号量的简介 队列与信号量的对比 二值信号量 二值信号量相关API函数 实验源码 信号量的简介 信号量是一种解决同步问题的机制,可以实现对共享资源的有序访问。 假设有一个人需要在停车场停车 1.首先判断停车场是否还有空车位(判断信号量是否有资源) 2.停车场正好…...

JavaScript随手笔记---轮播图(点击切换)

&#x1f48c; 所属专栏&#xff1a;【JavaScript随手笔记】 &#x1f600; 作  者&#xff1a;我是夜阑的狗&#x1f436; &#x1f680; 个人简介&#xff1a;一个正在努力学技术的CV工程师&#xff0c;专注基础和实战分享 &#xff0c;欢迎咨询&#xff01; &#…...

机器人学 markdown数学公式常用语法

参考链接1 本文包含了markdown常用的数学公式&#xff0c;按照目录可查询选用 初始类 行内数学公式均用两个符号包裹行间数学公式均用两个符号包裹 行间数学公式均用两个符号包裹行间数学公式均用两个符号包裹&#xff0c;用于表示重要的、需在行间单独列出的公式 $行内数学…...

如何使用 Python 语言来编码和解码 JSON 对象

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式&#xff0c;易于人阅读和编写。 JSON 函数 使用 JSON 函数需要导入 json 库&#xff1a;import json。 函数 描述 json.dumps 将 Python 对象编码成 JSON 字符串 json.loads 将已编码的 JSON 字符串解码为 Pyth…...

【蓝桥云课】求正整数的约数个数

一、求正整数n的约数个数 方法一(常用算法)&#xff1a;从1到n逐一判断其能否整除n&#xff0c;若能整除n即为n的约数&#xff0c;否则不是n的约数。 方法二&#xff1a;从1到n\sqrt{n}n​逐一判断是否为n的约数&#xff0c;当n\sqrt{n}n​为n的约数时&#xff0c;个数加1&…...

刷题记录: wannafly25 E 牛客NC19469 01串 [线段树维护动态dp]

传送门:牛客 题目描述: Bieber拥有一个长度为n的01 串&#xff0c;他每次会选出这个串的一个子串作为曲谱唱歌&#xff0c;考虑该子串从左 往右读所组成的二进制数P。 Bieber每一秒歌唱可以让P增加或减少 2 的 k次方&#xff08;k由Bieber选 定&#xff09;&#xff0c;但必须…...

懂九转大肠的微软New Bing 内测申请教程

最近微软的New Bing开放内测了&#xff0c;网上已经有拿到内测资格的大佬们对比了ChatGPT和New Bing。对比结果是New Bing比ChatGPT更强大。来看看具体对比例子吧 1.时效性更强 ChatGPT的库比较老&#xff0c;跟不上时事&#xff0c;比如你问它九转大肠的梗&#xff0c;ChatG…...

WRAN翻译

基于小波的图像超分辨残差注意力网络 Wavelet-based residual attention network for image super-resolution 代码&#xff1a; https://github.com/xueshengke/WRANSR-keras 摘要&#xff1a; 图像超分辨率技术是图像处理和计算机视觉领域的一项基础技术。近年来&#xff0c…...

一个新网站要怎么做seo/西部数码域名注册官网

jsp使用jdk8时&#xff0c;需要tomcat7以及以上版本&#xff0c;jsp在使用jdk7的时候&#xff0c;tomcat使用tomcat6即可...

ps切片怎么做网站/南宁seo计费管理

删除字典中的null 我们在处理数据库接口的过程中&#xff0c;如果数据中出现null&#xff0c;我们是没法处理的。我在使用NSUserDaults保存后&#xff0c;出现崩溃。 null产生原因 null是后台在处理数据的时候&#xff0c;如果没有设置value值&#xff0c;数据库默认填充的值。…...

asp伪静态网站如何做筛选/网站标题seo外包优化

承接上文&#xff1a; Docker进阶篇教程&#xff0c;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 联盟) 与墨天轮联合出品的全新视频节目上线啦&#xff5e;三分钟带你来了解数据行业动态&#xff0c;节目内容主要包含数据行业最新的产品发布、公司大事件、行业新闻等。每周五更新&#xff0c;不见不散&#xff5e;本期内容概览&#xff1a;202…...

那个网站专利分析做的好/百度建站云南服务中心

有时候我们需要对其它应用程序发送和接收的网络数据进行拦截,比如要对IE发送的**头进行分析,得到请求的地址等.这次我们可以用一些例如WPE, Sniffer之类的工具来达到目的.但是工具功能有限,要想实现更强大的功能,还是我们自己动手来DIY吧.拦截网络数据封包的方法有三种,一是将网…...

济南市个人网站制作/谷歌平台推广外贸

1. 简单三级联动 效果图&#xff1a; 思想&#xff1a;当选择省时&#xff0c;创建对应的市子对象&#xff0c;并将其加入父元素中。当选择某一个市时&#xff0c;创建对应的区子对象&#xff0c;并将其加入父元素中。当选择其他省/市时&#xff0c;对应的市、区/区的选项都变…...