【C++】刷题日记(day13)

简介: 刷题是我们学习编程的一个重要模块,刷题能帮助我们巩固我们学习的知识,能够增强我们的编程水平. 本文总共讲了5题牛客高频的选择题,以及两道牛客编程题,希望大家读后能够有所收获!

mmexport1669275046729.jpg

庐山烟雨浙江潮 未到千般恨不消全诗。


一、选择题

1、在TCP/IP中,ICMP属于哪一层协议?

A.ip

B.PPP

C.udp

D.tcp

答案:A。分析:ICMP协议是IP层的附属协议,是介于IP层和TCP层之间的协议,一般认为属于IP层协议。IP协议用它来 与其他主机或路由器交换错误报文和其他的一些 网络情况。在ICMP包重携带了控制信息和故障恢复信 息。主要用于路由器主机向其他路由器或者主机发送出错报文的控制信息。


2、不属于交换机攻击的是()

A.目录遍历攻击

B.MAC泛洪攻击

C.VLAN攻击

D.DHCP欺骗攻击

答案:A。分析:DHCP攻击方式 1.计算机用户自己手动设置IP地址造成ip冲突; 2.用户通过硬件或软件伪装DHCP服务器,这个是最常见的攻击方式; 3.用户不停的修改mac耗尽DHCP服务器ip池


3、在发送TCP接收到确认ACK之前,由其设置的重传计时器到时,这时发送TCP会

A.重传重要的数据段

B.放弃该连接

C.调整传送窗口尺寸

D.向另一个目标端口重传数据

答案:A。


4、IP地址块为211.168.15.192/26、211.168.15.160/27和211.168.15.128/27三个地址块经聚合后可用地址数为()

A.126

B.62

C.128

D.68

答案:A。分析:第一个子网的第四个字节是11 000000,第二个是101 00000,第三个是1000000,加粗部分为不可变部分(子网网络号部分)。从1~25位三个子网完全相同,而从26~32位三个子网的可变部分覆盖了所步有情况1****** + 01***** + 00***** =*******,因此可构成超网,该超网的网络号为211.168.15.128/25,主机数为;2^7-2=126。


5、下列哪项最恰当地描述了建立TCP连接时“第一次握手”所做的工作()

A、“连接发起方“间日标上机的Tce进程发送一个SYN段

B、“连接发起方"向“接收方”发送一个SI-ACK段

C、接收方“向连接发起方“发送 个SYN-ACK段

D、“接收方“向源主机得到TCP进程发送一个SYN段作为应答

答案:A。分析:

image.png


二、编程题

1、年会抽奖

image.png

题目分析:

image.png

#include<iostream>#include<cmath>usingnamespacestd;
//1.概率:n个人取到的不是自己名字的序列个数/n个人可能抽取的所有可能性longlongNotSelf(intn)
{
if (n==1 )
return0;
if (n==2)
return1;
return (n-1) * (NotSelf(n-1) +NotSelf(n-2));
}
longlongCount(intn)
{
doubles=1;
doublem=1;
for (inti=2; i<=n; ++i)
    {
m*=i;
    }
returnm;
}
intmain()
{
intn;
while (cin>>n)
    {
doubleret= (double)NotSelf(n)/Count(n);         //计算概率printf("%2.2f%%\n", ret*100);
    }
return0;
}

2、抄送人列表

image.png


#include<iostream>#include<string>usingnamespacestd;
intmain()
{
strings, res;
while (getline(cin, s))
    {
getline(cin, res);
boolflag=false;
for (inti=0; i<s.size(); i++)
        {
stringt;
if (s[i] =='"')
            {
i++;
while (i<s.size() &&s[i] !='"')
                {
t+=s[i];
i++;
                }
if (t==res)
                {
flag=true;
break;
                }
            }
elseif (s[i] !=',')
            {
while (i<s.size() &&s[i] !=',')
                {
t+=s[i];
i++;
                }
if (t==res)
                {
flag=true;
break;
                }
            }
        }
if (flag==true)
        {
cout<<"Ignore"<<endl;
        }
elsecout<<"Important!"<<endl;
    }
return0;
}

总结

本文总共讲了5题牛客高频的选择题,以及两道牛客编程题,希望大家读后能够有所收获!

相关文章
|
算法 C语言 C++
从C语言的使用转换到C++(上篇)——刷题、竞赛篇
从C语言的使用转换到C++(上篇)——刷题、竞赛篇
277 0
|
存储 C++
【五一创作】C++刷题 【入门4】数组
【五一创作】C++刷题 【入门4】数组
131 0
|
机器学习/深度学习 存储 人工智能
【c++百日刷题计划】 ———— DAY12,奋战百天,带你熟练掌握基本算法
【c++百日刷题计划】 ———— DAY12,奋战百天,带你熟练掌握基本算法
216 0
|
6月前
|
算法 C++
【数据结构与算法】:关于时间复杂度与空间复杂度的计算(C/C++篇)——含Leetcode刷题-2
【数据结构与算法】:关于时间复杂度与空间复杂度的计算(C/C++篇)——含Leetcode刷题
|
6月前
|
算法 C++
【数据结构与算法】:关于时间复杂度与空间复杂度的计算(C/C++篇)——含Leetcode刷题-1
【数据结构与算法】:关于时间复杂度与空间复杂度的计算(C/C++篇)——含Leetcode刷题
|
7月前
|
C语言 C++
【C语言/C++】牛客网刷题训练-12
【C语言/C++】牛客网刷题训练-12
|
7月前
|
存储 自然语言处理 C++
刷题用到的非常有用的函数c++(持续更新)
刷题用到的非常有用的函数c++(持续更新)
89 1
|
存储 C语言 C++
【C/C++刷题——leetcode】查找字符串中最大的子串
【C/C++刷题——leetcode】查找字符串中最大的子串
333 0
|
机器学习/深度学习 人工智能 C++
【c++百日刷题计划】 ———— DAY16,刷题百天,养成刷题好习惯
【c++百日刷题计划】 ———— DAY16,刷题百天,养成刷题好习惯
192 0
【c++百日刷题计划】 ———— DAY16,刷题百天,养成刷题好习惯
|
存储 算法 C++
【c++百日刷题计划】 ———— DAY13,奋战百天,带你熟练掌握基本算法
【c++百日刷题计划】 ———— DAY13,奋战百天,带你熟练掌握基本算法
358 0