A.类的应用1
Time Limit: 1000 MS Memory Limit: 32768 K
Total Submit: 162 (133 users) Total Accepted: 136 (132 users) Special Judge: No
Description
利用面向对象程序设计的方法,通过长方体的长、宽、高求长方体的体积与表面积。
Input
多组测试数据。第一行输入测试数据的组数t(0<t<10);以下t行每行输入长方体的长a、宽b、高c,(0<a,b,c<10,且为int型,a、b、c之间由空格分隔)。
Output
每组输出数据为2个,分别为长方体的体积和表面积,数据之间由空格分隔。
Sample Input
6
7 5 6
4 6 8
5 9 4
1 10 1
5 4 5
10 7 7
Sample Output
214 210
208 192
202 180
42 10
130 100
378 490

code:

#include<iostream>
using namespace std;
class rectangle{
float length;
float width;
float height;
public:
rectangle(){};
rectangle(float l,float w,float h){
length = l;
width = w;
height = h;
}
~rectangle(){};
void setDimension(float l,float w,float h){
length = l;
width = w;
height = h;
}
float getLength(){return length;}
float getWidth(){return width;}
float getHeight(){return height;}
float getVolum(){return length*width*height;}
float getArea(){return *(length*width+length*height+width*height);;}
};
int main(){
int T;
cin>>T;
while(T--){
int a,b,c;
cin>>a>>b>>c;
rectangle myrectangle(a,b,c);
cout<<myrectangle.getArea()<<" "<<myrectangle.getVolum()<<endl;
} return ;
}
B.类的应用2
Time Limit: 1000 MS Memory Limit: 32768 K
Total Submit: 166 (132 users) Total Accepted: 135 (131 users) Special Judge: No
Description
利用面向对象程序设计的方法,通过三角形的三边求三角形的周长。
Input
多组测试数据。第一行输入测试数据的组数t(0<t<10);以下t行每行输入三角形的三边a、b、c,(0<a,b,c<10,且为int型,a、b、c之间由空格分隔)。
Output
每组输出数据为1个。当输入的三边能够构成三角形时,输出周长;当输入的三边不能构成三角形时输出“error”。
Sample Input
2
1 10 1
5 4 5
Sample Output
error
14
#include<iostream>
using namespace std;
class triangle{
int a,b,c;
public:
void set(int a, int b, int c){
this->a = a;
this->b = b;
this->c = c;
}
bool istri(){
return a+b>c && a+c>b && b+c>a;
}
int getl(){
return a+b+c;
} };
int main(){
int a,b,c,N=;
triangle T;
cin>>N;
while(N--){
cin >> a >> b >> c;
T.set(a,b,c);
if(T.istri()){
cout <<T.getl()<< endl;
}else{
cout <<"error"<< endl;
}
}
}
C.类的应用3
Time Limit: 1000 MS Memory Limit: 32768 K
Total Submit: 193 (127 users) Total Accepted: 135 (127 users) Special Judge: No
Description
利用面向对象程序设计的方法解决问题。行走江湖,靠的是脑力和武器。脑瓜灵光,武器平平免不了输给或愚钝但手握屠龙的无名之辈,脑力与武器按照四六比例决定一个人的江湖地位。适逢Apple新店开业,当街擂台比武海选晋级选手赢取Apple X。比武之前要登记选手:选手名(长度不大于10的字符串)、脑力值(不大于100的整数)、武器名(长度不大于10的字符串)、武器攻击力(不大于100的整数)。比武方式:两两一组,对打。
Input
多组测试数据。第一行输入测试数据的组数t(0<t<10);以下2t行每2行输入2名比武者的信息:选手名、脑力值、武器名、武器攻击力,数据之间由空格分隔。
Output
针对每2行选手的输入,输出比武结果。
   当前者打败了后者,会输出:前者名 win 后者名
   当前者输给了后者,会输出:前者名 lost 后者名
   当前者与后者不分胜负,会输出:前者名 tie 后者名
Sample Input
3
Sunwk 100 Jingb 100
Niumw 0 Bajs 100
Tangsz 100 Chanzhang 0
Honghe 80 Huolongqiang 60
ZHUba 60 JCdp 60
SHAwj 30 FTc 80
Sample Output
Sunwk win Niumw
Tangsz lost Honghe
ZHUba tie SHAwj
Hint
Honghe 80 Huolongqiang 60:此人江湖能力为80*0.4+60*0.6=68
#include<iostream>
using namespace std;
class people{
string name;
int wind;
string gun;
int power;
public:
void set(string name,int wind, string gun, int power){
this->name = name;
this->wind = wind;
this->gun = gun;
this->power = power;
}
int getTolPower(){
return wind*0.4+power*0.6;
}
};
int main(){
int t;
cin>>t;
people p1,p2;
while(t--){
string name,name2,gun;
int wind,power;
cin>>name>>wind>>gun>>power;
p1.set(name,wind,gun,power);
cin>>name2>>wind>>gun>>power;
p2.set(name,wind,gun,power);
if(p1.getTolPower()==p2.getTolPower()){
cout<<name <<" tie "<< name2<<endl;
}else if(p1.getTolPower()>p2.getTolPower()){
cout<<name <<" win "<< name2<<endl;
}else{
cout<<name <<" lost "<< name2<<endl;
}
}
}
D.类的应用4
Time Limit: 1000 MS Memory Limit: 32768 K
Total Submit: 160 (127 users) Total Accepted: 128 (127 users) Special Judge: No
Description
利用面向对象程序设计的方法解决问题。
   神魔争斗一直延续着...,是集智慧兵器威力一体(智慧与兵器威力权重比为4:6)的神与仅凭兵器威力的魔的较量。进入新的时代,要举办一场神魔擂台预选赛。现场注册登记,要记录神的名号(长度不大于10的字符串)、神的智慧值(不大于100的整数)、神使用兵器的名字(长度不大于10的字符串)以及威力值(不大于100的整数)。魔要记录魔的名字(长度不大于10的字符串)、魔使用兵器的名字(长度不大于10的字符串)以及威力值(不大于100的整数)。
Input
多组测试数据。第一行输入测试数据的组数t(0<t<10);以下2t行每2行的第一行输入神的名号、神的智慧值、神使用的兵器名字以及威力值,数据之间由空格分隔;第二行输入魔的名字、魔使用的兵器以及威力值,数据之间由空格分隔。
Output
针对每2行神魔比武的输入,输出比武结果。
     当神打败了魔,会输出:神名 win 魔名
     当神败给了魔,会输出:神名 lost 魔名
     当神魔不分胜负,会输出:神名 tie 魔名
Sample Input
3
Tangsz 100 Chanzhang 0
Honghe Huolongqiang 60
Sunwk 100 Jingb 100
Niumw Bajs 100
Zhubj 20 Jiucdp 80
Xiaoy Pud 20
Sample Output
Tangsz lost Honghe
Sunwk tie Niumw
Zhubj win Xiaoy
Hint
Tangsz 100 Chanzhang 0:此神战斗力为100*0.4+0*0.6=40
Honghe Huolongqiang 60:此魔战斗力为60
#include<iostream>
#include<cstdlib>
using namespace std;
class people{
string name;
int wind;
string gun;
int power;
public:
void set(string name,int wind, string gun, int power){
this->name = name;
if(wind!=){
this->wind = wind;
}else{
this->wind = ;
}
this->gun = gun;
this->power = power;
}
int getTolPower(){
if(this->wind==){
return power;
}
return wind*0.4+power*0.6;
}
};
int main(){
int t;
cin>>t;
people p1,p2;
while(t--){
string name,name2,gun;
int wind,power;
cin>>name>>wind>>gun>>power;
p1.set(name,wind,gun,power);
cin>>name2>>gun>>power;
p2.set(name2,,gun,power);
if(p1.getTolPower()==p2.getTolPower()){
cout<<name <<" tie "<< name2<<endl;
}else if(p1.getTolPower()>p2.getTolPower()){
cout<<name <<" win "<< name2<<endl;
}else{
cout<<name <<" lost "<< name2<<endl;
}
}
}
 
E.类的应用5
Time Limit: 1000 MS Memory Limit: 32768 K
Total Submit: 168 (120 users) Total Accepted: 127 (120 users) Special Judge: No
Description

利用面向对象设计方法解决问题。根据主函数main()的内容、输入与输出数据,完成类的设计。
    在平面直角坐标系上建立两点A和B,并按格式输出其坐标。给定A、B两点坐标在x和y方向上的偏移量,再次输出两点的坐标。
    
    在平面直角坐标系上建立线段L,并按格式输出线段两端点的坐标及线段长度。
    在平面直角坐标系上建立线段L1,给定线段两端点在x和y方向上的偏移量从而得到线段的新位置与新的长度,并按格式输出该线段两端点的新坐标及线段长度。

主函数如下:
int main()
{
    int n,x1,x2,y1,y2;
    Point A,B(10,10);
    cout<<"PointA:["<<A.getX()<<","<<A.getY()<<"]\n";
    cout<<"PointB:["<<B.getX()<<","<<B.getY()<<"]\n";
    cin>>x1>>y1;
    A.setP(x1,y1); B.setP(x1,y1);
    cout<<"PointA:["<<A.getX()<<","<<A.getY()<<"]\n";
    cout<<"PointB:["<<B.getX()<<","<<B.getY()<<"]\n";

cin>>x1>>y1>>x2>>y2;
    Line L(x1,y1,x2,y2);
    L.getP();printf("%.2lf\n",L.dis());

Line L1(0,0,1,1);
    cin>>x1>>y1>>x2>>y2;
    L1.setL(x1,y1,x2,y2);
    L1.getP();printf("%.2lf\n",L1.dis());

return 0;

Input
    第一行输入的是:A、B两点坐标在x和y方向上的偏移量,数据以空格分隔。
    第二行输入的是:线段L两端点的坐标x1,y1,x2,y2,数据以空格分隔。    
    第三行输入的是:线段L1两端点在x和y方向上的偏移量,数据以空格分隔。
Output
    第一、二行输出的是点A与点B的坐标(按格式)。
    第三、四行输出的是在平移后的点A与点B的坐标(按格式)。
    第五行输出的是线段L两端点的坐标及长度(按格式)。
    第六行输出的是线段L1在平移后两端点的坐标及长度(按格式)。
Sample Input
5 5
0 0 10 10
1 1 5 5
Sample Output
PointA:[0,0]
PointB:[10,10]
PointA:[5,5]
PointB:[15,15]
(0,0)--(10,10):14.14
(1,1)--(6,6):7.07
#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
class Point{
int X,Y;
public:
Point(){
X=;
Y=;
}
Point(int x,int y):X(x),Y(y){}
int getX(){
return X;
}
int getY(){
return Y;
}
void setP(int x,int y){
this->X+=x;
this->Y+=y;
}
};
class Line{
int X1,Y1,X2,Y2;
public:
Line(){
X2=;
Y2=;
}
Line(int x1,int y1,int x2,int y2):X1(x1),Y1(y1),X2(x2),Y2(y2){}
void setL(int x1,int y1,int x2,int y2){
this->X1=x1;
this->Y1=y1;
this->X2+=x2;
this->Y2+=y2;
}
int getP(){
cout<<"("<<X1<<","<<Y1<<")"<<"--"<<"("<<X2<<","<<Y2<<")"<<endl;
}
float dis(){
return sqrt((X2-X1)*(X2-X1)+(Y2-Y1)*(Y2-Y1));
}
};
int main()
{
int n,x1,x2,y1,y2;
Point A,B(,);
cout<<"PointA:["<<A.getX()<<","<<A.getY()<<"]\n";
cout<<"PointB:["<<B.getX()<<","<<B.getY()<<"]\n";
cin>>x1>>y1;
A.setP(x1,y1); B.setP(x1,y1);
cout<<"PointA:["<<A.getX()<<","<<A.getY()<<"]\n";
cout<<"PointB:["<<B.getX()<<","<<B.getY()<<"]\n"; cin>>x1>>y1>>x2>>y2;
Line L(x1,y1,x2,y2);
L.getP();printf("%.2lf\n",L.dis()); Line L1(,,,);
cin>>x1>>y1>>x2>>y2;
L1.setL(x1,y1,x2,y2);
L1.getP();printf("%.2lf\n",L1.dis()); return ;
}

网络工程18级《C++程序设计II》实践作业1的更多相关文章

  1. 复旦大学2018--2019学年第二学期(18级)高等代数II期末考试第六大题解答

    六.(本题10分)  设 $A$ 为 $n$ 阶实对称阵, 证明: $A$ 有 $n$ 个不同的特征值当且仅当对 $A$ 的任一特征值 $\lambda_0$ 及对应的特征向量 $\alpha$, 矩 ...

  2. 复旦高等代数II(18级)每周一题

    本学期将继续进行高等代数每周一题的活动.计划从第一教学周开始,到第十五教学周结束,每周的周末公布一道思考题(预计15道),供大家思考和解答.每周一题将通过“高等代数官方博客”(以博文的形式)和“高等代 ...

  3. 2019年春季学期《C语言程序设计II》助教注意事项

    本学期<C语言程序设计II>课程安排 理论课时24(1-12周),实验课时8(13周),课程设计课时16(14-15周) 理论课教学内容 附:教学进度表 本学期实验课和课程设计参考教材 & ...

  4. 【云+社区极客说】新一代大数据技术:构建PB级云端数仓实践

    本文来自腾讯云技术沙龙,本次沙龙主题为构建PB级云端数仓实践 在现代社会中,随着4G和光纤网络的普及.智能终端更清晰的摄像头和更灵敏的传感器.物联网设备入网等等而产生的数据,导致了PB级储存的需求加大 ...

  5. 20145236《网络对抗》Exp2 后门原理与实践

    20145236<网络对抗>Exp2 后门原理与实践 目录: 一.基础问题回答 二.常用后门工具实践 2.1 Windows获得Linux Shell 2.2 Linux获得Windows ...

  6. 20155232《网络对抗》Exp2 后门原理与实践

    20155232<网络对抗>Exp2 后门原理与实践 问题回答 1.例举你能想到的一个后门进入到你系统中的可能方式? 通过网页上弹出来的软件自动安装 2.例举你知道的后门如何启动起来(wi ...

  7. 20155317王新玮《网络对抗》Exp2 后门原理与实践

    20155317王新玮<网络对抗>Exp2 后门原理与实践 一.实验内容 (1)使用netcat获取主机操作Shell,cron启动 (2)使用socat获取主机操作Shell, 任务计划 ...

  8. 20145317彭垚《网络对抗》Exp2 后门原理与实践

    20145317彭垚<网络对抗>Exp2 后门原理与实践 基础问题回答 例举你能想到的一个后门进入到你系统中的可能方式? 在网上下载软件的时候,后门很有可能被捆绑在下载的软件当中: 例举你 ...

  9. 软件架构自学笔记-- 转载“虎牙在全球 DNS 秒级生效上的实践”

    虎牙在全球 DNS 秒级生效上的实践 这次分享的是全球 DNS 秒级生效在虎牙的实践,以及由此产生的一些思考,整体上,分为以下 5 各部分: 背景介绍: 方案设计和对比: 高可用: 具体实践和落地: ...

随机推荐

  1. elastic(6) mget

    转自:https://www.cnblogs.com/zhaijunming5/p/6424800.html GET /library/books/1 { "_index": &q ...

  2. BST树、B-树、B+树、B*树

    BST树 即二叉搜索树: 1.所有非叶子结点至多拥有两个儿子(Left和Right): 2.所有结点存储一个关键字: 3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树: 如: ...

  3. js闭包(二)

    一.何谓“闭包”? 所谓“闭包(Closure)”,指的是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分. 描述的如此学术的官方解释,相信很少人能够 ...

  4. 2-3 zookeeper文件夹主要目录介绍

    zookeeper-3.4.11.jar.zookeeper-3.4.11.jar.md5.zookeeper-3.4.11.sha1都是通过打包或者编译之后产生的相关的文件.那么maven相关的东西 ...

  5. ReentrantLock简单实现2

    ReentrantLock: /** * ReentrantLock测试逻辑类 */ public class MyService { private Lock lock = new Reentran ...

  6. php学习笔记-while循环

    while(condition) { func(); //break the loop } while循环的执行顺序是先判断condition是不是true,如果是true,那么就执行while循环体 ...

  7. C# 实现文件(夹)在ftp服务器间的同步【无需将文件(夹)保存到本地】

    C#实现不同ftp服务器间文件(夹)同步 图1 实现不同ftp服务器间文件(夹)同步的实现思路图 /// <summary> /// 将文件夹1从ftp服务器1移到ftp服务器2文件夹2 ...

  8. C#代码标识符命名规范

    总体原则:命名一定要体现其在程序中的作用: Camel命名法:第一个单词的首字母小写,其余每个单词的首字母大写:多用给变量或者字段命名:给字段命名必须以下划线开始: Pascal命名法:每个单词的首字 ...

  9. MVC身份验证.MVC过滤器.MVC6关键字Task,Async.前端模拟表单验证,提交.自定义匿名集合.Edge导出到Excel.BootstrapTree树状菜单的全选和反选.bootstrap可搜索可多选可全选下拉框

    1.MVC身份验证. 有两种方式.一个是传统的所有控制器继承自定义Control,然后再里面用MVC的过滤器拦截.所以每次网站的后台被访问时.就会先走入拦截器.进行前端和后端的验证 一个是利用(MVC ...

  10. SQLite 如何清空表数据并将递增量归零

    SQLite并不支持TRUNCATE TABLE语句 方式一: DELETE FROM [Tab_User] --不能将递增数归零 方式二: DELETE FROM sqlite_sequence W ...