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. apache 禁delete

    <VirtualHost *:80>ServerAdmin sunqz@jerei.comDocumentRoot /web/dasdf ServerName www.abc.com &l ...

  2. Django 学习之---静态文件处理详解

    前言: 1.静态文件是指 网站中的 js, css, 图片,视频等文件 2.静态文件放在对应的 app 下的 static 文件夹中 或者 STATICFILES_DIRS 中的文件夹中. 当 DEB ...

  3. The Independent JPEG Group's JPEG software Android源码中 JPEG的ReadMe文件

    The Independent JPEG Group's JPEG software========================================== README for rele ...

  4. 使用JSONObject类来生成json格式的数据

    JSONObject类不支持javabean转json 生成json格式数据的方式有: 1.使用JSONObject原生的来生成 2.使用map构建json格式的数据 3.使用javabean来构建j ...

  5. ActiveMQ (一) 介绍与安装

    ActiveMQ是消息中间件的一种 ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线.ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provide ...

  6. RxAndroid基本使用1

    1,基本使用 public class MainActivity extends ActionBarActivity implements View.OnClickListener, View.OnT ...

  7. Contentprovider的创建和使用流程概述

    首先在provider类中继承并实现provider的几个必要方法 -- boolean onCreate(),用来执行一些初始化的工作. -- cursor query(Uri, String[], ...

  8. transient关键字的理解

    谈到这个transient这个关键字,我们应该会立马想到序列化这个过程:什么是序列化?什么又是反序列化呢?序列化就是将对象转化内成二进制,而反序列化就是就二进制文件转换成对象的过程.一旦变量使用了tr ...

  9. 解决列表中增加字典覆盖之前相同key的字典

    dic = {} lst = [] # 先声明一个字典和一个列表 dic['name'] = "chenrun" lst.append(dic) print(lst) dic[&q ...

  10. C++——static

    1.第一条也是最重要的一条:隐藏.(static函数,static变量均可) 所有未加static前缀的全局变量和函数都具有全局可见性:加static前缀的全局变量和函数只有有局部可见性: //a.c ...