【id:115】【20分】D. 向量4(类复合)

news/2025/3/31 8:51:41/

文章目录

  • 一、题目描述
  • 二、输入与输出
    • 1.输入
    • 2.输出
  • 三、参考代码
  • 四、题解思路


一、题目描述

为向量1题目中实现的CVector类增加成员函数float Average(),计算n维向量的平均值并返回。

定义CStudent类,私有数据成员为:

string name; // 姓名

CVector score; // n个成绩

(1)添加构造函数,用虚参name1、n1、数组a1初始化CStudent类对象。

(2)添加输出函数,按样例格式输出CStudent对象值。

主函数输入数据,测试CStudent对象。


二、输入与输出

1.输入

输入多行,每行格式为:学生姓名 科目n n个成绩

wangwu  5  90 80 70 100 90
lisi 3 100 90 100

2.输出

对每行测试数据,生成学生对象,输出如下数据:

学生姓名 n个成绩 成绩的平均值(保留2位小数)

wangwu 90 80 70 100 90 86.00
lisi 100 90 100 96.67

三、参考代码

#include<iostream>
#include<string> 
#include<iomanip>
using namespace std;
class cv
{
friend class stu;
private:int num;float *data;
public:cv(){};cv(int num1,float*data1 ){num=num1;int i=0;data=new float[num];for(i=0;i<num;i++){data[i]=data1[i];}};void set(int num1,float*data1){num=num1;int i=0;data=new float[num];for(i=0;i<num;i++){data[i]=data1[i];}}cv(cv&b){num=b.num;for(int i=0;i<b.num;i++){data[i]=b.data[i];}};friend float ave(cv&a){float sum=0;for(int i=0;i<a.num;i++){sum+=a.data[i];}return sum/a.num;};
};class stu 
{
private:string name;cv sco;
public:stu(string name1,int n1,float*data1){name=name1;sco.set(n1,data1);}void pri(){cout<<name<<" ";for(int i=0;i<sco.num;i++){cout<<fixed<< setprecision(0)<<sco.data[i]<<" ";}float ave1=ave(sco);cout<<fixed<< setprecision(2)<<ave1<<endl;}
};int main() {string name;int num;while(cin>>name){cin>>num;float *data=new float[num];for(int i=0;i<num;i++){cin>>data[i];}stu stu1(name,num,data);stu1.pri();delete []data;}return 0;
}

四、题解思路

while(cin>>name)是可以保证只要还要名字这个循环就不会停止。
注意各个函数的书写!!!


http://www.ppmy.cn/news/63905.html

相关文章

JavaScript (五) -- JavaScript 事件(事件的绑定方式)

目录 1. JavaScript 事件的概述: 2. 事件的绑定(两种方式): 1. JavaScript 事件的概述: JavaScript事件是指当网页中某个元素被触发时,可以执行一些JS代码来处理这个事件,例如鼠标单击、鼠标移动、键盘按键等。事件通常被认为是浏览器与用户交互的方式之一…

CSS布局基础(精灵图 字体图标 css 三角图标)

精灵图 & 字体图标 & css 三角图标 精灵图使用字体图标下载字体图标使用方式icomoon阿里 iconfontttf 字体 unicodecss 方式js 方式 更新字体图标icomoon阿里 iconfont css三角图标标准三角&#xff08;垂直的两边相等&#xff09;先来个普通盒子&#xff08;当然是五…

深入探究C++中的STL:容器、迭代器与算法全解析

C 基础知识 四 认识STL 上一、 概述1. 起源 Standard Template Library2. 发展历程3. 组成部分与内部实现原理4. 优点和局限性4.1优点4.2局限二、容器1. 定义2. 序列容器2.1 vector2.2 deque2.3 list2.4 forward_list3. 关联容器3.1 set 与 multiset3.2 map 与 multimap4. 无序…

ORA-01555 ORA-22924 快照过旧问题处理

ORA-01555 ORA-22924 快照过旧问题处理 问题描述 使用数据泵导出数据&#xff0c;或在业务功能查询某个表时&#xff0c;可能出现 ORA-01555 ORA-22924 快照过旧的错误&#xff1a; ORA-01555: snapshot too old: rollback segment number with name "" too small…

动画图解常见串行通讯协议:SPI、I²C、UART、红外分析

一、SPI传输 图1&#xff1a;SPI 数据传输 图1.2&#xff1a;SPI数据传输&#xff08;2&#xff09; ​ 图1.3&#xff1a; SPI时序信号 二、IC传输 图1.2.1&#xff1a; I2C总线以及寻址方式 三、UART传输 图1.3.1&#xff1a;PC 上通过UART来调试MCU 图1.3.2&#xff1a;R…

信息与信息化的基本概念

信息与信息化的基本概念 信息的定义 香农&#xff1a;信息就是不确定性的减少。维纳【控制论】&#xff1a;信息就是信息&#xff0c;既不是物质&#xff0c;也不是能量&#xff0c;但他们之间可以相互转化。【统一概括】&#xff1a;信息是对客观事物变化的特征和反映&#…

VR与AR:哪个有更大的潜力改变未来?

VR&#xff08;虚拟现实&#xff09;和AR&#xff08;增强现实&#xff09;都是令人兴奋的技术&#xff0c;它们在改变未来的方式上具有各自的潜力和应用领域。以下是对它们的潜力和限制的一些观点&#xff1a; VR的潜力&#xff1a; 1. 沉浸式体验&#xff1a; VR可以提供沉…

配置文件Application.properties

配置文件Application.properties 属性配置配置文件的多种格式yaml的数据格式读取yaml文件中的属性值读取yaml文件中的全部属性yaml文件 数据库的属性 属性配置 在application.properties中添加server.port端口号即可 # 服务器端口配置 server.port80# 修改banner 关闭banner …