C++ 编程题/简单错误记录,合唱团,马戏团

本文提供了一组C++编程题目,包括问答题和编程题。问答题涉及网络协议知识,编程题则包含错误记录模块设计和解决合唱团能力值最大化问题。错误记录题目要求实现一个能存储最多8条错误信息的模块,合唱团问题则需找出在给定限制下使学生能力值乘积最大的子序列。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问答题

题1:将网络物理地址转换为IP地址的协议是?
A: IP
B: ICMP
C: ARP
D: RARP

提示:题目中说的是将物理地址转换为IP地址,而不是将 IP 地址转换为物理地址,ARP 是将 IP 地址解析物理地址,RARP 是反向解析,也就是物理地址转换 IP 地址;

ICMP 是属于网络层协议,主要用于在主机与路由器之间传递控制信息,包括报告错误、交换受限控制和状态信息等。当遇到IP数据无法访问目标、IP路由器无法按当前的传输速率转发数据包等情况时,会自动发送ICMP消息

题2:某IP地址 192.168.48.10,掩码为255.255.255.128,其所在的子网为?广播地址为?有效的主机IP地址范围从 ?到?

提示:子网是掩码和 IP 地址进行按位与(&)之后所得出的地址,广播地址是主机地址全为 1 的时候;由于掩码的后八位是 128 ,所以主机地址占 7 位,那么全为 1 的时候是主机地址是 127,所以有效的主机地址为后七位是 0000001 - 1111110

编程题

题1:简单错误记录

开发一个简单错误记录功能小模块,能够记录出错的代码所在的文件名称和行号处理:

  1. 记录最多 8 条错误记录,循环记录,对相同的错误记录(净文件名称和行号完全匹配)只记录一条,错误计数增加

  2. 超过 16 个字符的文件名称,只记录文件的最后有效 16 个字符

  3. 输入的文件可能带路径,记录文件名称不能带路径

输入描述:一行或多行字符串,每行包括带路径文件名称,行号,以空格隔开

输出描述:将所有的记录统计并将结果输出,格式:文件名 代码行数 数目,一个空格隔开,如:

示例:
输入
E:\V1R2\product\fpgadrive.c 1325
输出
fpgadrive.c 1325 1

提示:通过一个结构体来保存一个对象,一个对象中包含文件名,错误行数,错误次数这三个成员

最多纪录 8 次,循环纪录指的是如果对象少于 8 个则都输出,如果大于 8 个,输出最后 8 个对象

#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;

// 获取文件名
string getFileName(string path) {
   
   
	int pos = path.rfind('\\');
	return path.substr(pos + 1);
}

// 截取文件名后 16 位
string modifyName(string name) {
   
   
	if (name.size() > 16) {
   
   
		name = name.substr(name.size() - 16);
	}
	return name;
}

struct ErrRecord {
   
   
	string file;
	int lineNo;
	int count;
	// 构造函数
	ErrRecord(string file, int lineNo) {
   
   
		this->file = file;
		this->lineNo = lineNo;
		count = 1;
	}
	// 文件名相等的规则
	bool operator==(const ErrRecord & a) {
   
   
		return (file == a.file) && (lineNo == a.lineNo);
	}
};

int main(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序猿的温柔香

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值