一道c++编程题目的题目

全国2012年1月高等教自学考试C++程序设计试题及答案_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
全国2012年1月高等教自学考试C++程序设计试题及答案
全​国02​年月​高​等​教​自​学​考​试​C​+​+​程​序​设​计​试​题​,​可​供​自​考​类​学​生​参​考​复​习​。
阅读已结束,如果下载本文需要使用
想免费下载本文?
你可能喜欢11:28 提问
做一道题,遇到一些疑问。public static int[] 函数 ;
取出整型数据中出现次数最多的元素,并按照升序排列返回。
要求实现方法:
public static int[] calcTimes(int[] num, int len);
【输入】 num:整型数组;
len 输入的整数个数
【返回】 按照升序排列返回整型数组中出现次数最多的元素
【注意】只需要完成该函数功能算法,中间不需要有任何IO的输入输出
输入:num = {1,1,3,4,4,4,9,9,9,10} len = 10
返回:{4,9}
这是我用 c++编写的代码
在数组arr_num中查找 num,如果有,将对应的arr_count 加1,如果没有,在arr_num中添加,
设置arr_count 设置为1,并且相应的计数器加1;
find (int & num_,int *arr_num,int *arr_count,int &count)
for(int j =0 ;j &j++)
if(arr_num[j] == num_)
arr_count[j]++;
arr_num[count] = num_;
arr_count[count]= 1;
int calcTimes (int num ,int len)
if (len == 0)
int count = 0,dex =0 ;
//创建两个数字,一个用来存放数字,一个用来存放该数字出现的次数
int *arr_count = new int[len];
int *arr_num = new int [len];
for(dex =0 ;dex &dex++)
find (num[dex],arr_num,arr_count,count);
int max = -1;
//arr_cout出现的最大值,该最大值出现的次数。
for(dex = 0 ;dex &dex++)
if(max & arr_count[dex])
max = arr_count[dex];
if(max == arr_count[dex] )
int *out_out = new int [numb];
int i = 0;
//将出现次数最多的赋值给另外一个数组。
for(dex = 0 ;dex &dex++)
if (arr_count[dex] == max)
out_out[i] = arr_num[dex];
delete [] arr_
delete [] arr_
//对出现次数最多的数字进行排序
sort(out_out,out_out+numb);
//自己检验下
for(int jj =0 ;jj&jj++)
cout&&out_out[jj]&&"
return out_
int main()
int num[] =
{1,1,3,4,4,4,9,9,9,10}, len = 10;
int * out = calcTimes(num,len);
//这边该如何 sizeof (out) 是一个指针的长度,它不能用来判断数组的个数
int n = sizeof(out)/sizeof(int);
for(int i =0 ;i&i++)
cout&&out[i]&&
最后输出的时候,出现问题,不知道是最后sizeof(out)/size(int)出错,还是没有按照要求pbulic static int [] calcTimes()写,我对这个public static 不太了解 还是这本来就是java中的,不是C++的?
其他相似问题
相关参考资料这是谭浩强C++程序设计答案上的一道原题及答案,但答案用VC6.0试时却不能通过编译,跪求高手指点。_百度知道
这是谭浩强C++程序设计答案上的一道原题及答案,但答案用VC6.0试时却不能通过编译,跪求高手指点。
//设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。//用cin输入数据,输出计算结果,输出时要求有文字说明,取小数点后2位数字。请编程序。//书上代码:#include&iostream&#include&iomanip&int main(){ float h,r,l,s,sq,vq, const float pi=3.1415926; cout&&&please enter r,h:&;
//要求输入圆半径r和圆柱高h cin&&r&&h;
//输入r和h l=2*pi*r;
//计算圆周长l s=r*r*
//计算圆面积s sq=4*pi*r*r;
//计算圆球表面积sq vq=4.0/3.0*pi*r*r*r;
//计算圆球体积vq vz=pi*r*r*h;
//计算圆柱体积vz cout&&setiosflags(ios::fixed)&&setiosflags(ios::right)&&setprecision(2);
//设置输出格式 cout&&&l=&&&setw(10)&&l&&
//输出圆周长l cout&&&s=&&&setw(10)&&s&&
//输出圆面积s cout&&&sq=&&setw(10)&&sq&&
//输出圆球表面积sq cout&&&vq=&&&setw(10)&&vq&&
//输出圆球体积vq cout&&&vz=&&&setw(10)&&vz&&
//输出圆球体积vz return 0;}
提问者采纳
cout&&&sq=&&setw(10)&&sq&&
//输出圆球表面积sq少个&cout&&&sq=&&&setw(10)&&sq&& //输出圆球表面积sq
提问者评价
原来是这样,感谢!
其他类似问题
为您推荐:
道原的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁新手园地& & & 硬件问题Linux系统管理Linux网络问题Linux环境编程Linux桌面系统国产LinuxBSD& & & BSD文档中心AIX& & & 新手入门& & & AIX文档中心& & & 资源下载& & & Power高级应用& & & IBM存储AS400Solaris& & & Solaris文档中心HP-UX& & & HP文档中心SCO UNIX& & & SCO文档中心互操作专区IRIXTru64 UNIXMac OS X门户网站运维集群和高可用服务器应用监控和防护虚拟化技术架构设计行业应用和管理服务器及硬件技术& & & 服务器资源下载云计算& & & 云计算文档中心& & & 云计算业界& & & 云计算资源下载存储备份& & & 存储文档中心& & & 存储业界& & & 存储资源下载& & & Symantec技术交流区安全技术网络技术& & & 网络技术文档中心C/C++& & & GUI编程& & & Functional编程内核源码& & & 内核问题移动开发& & & 移动开发技术资料ShellPerlJava& & & Java文档中心PHP& & & php文档中心Python& & & Python文档中心RubyCPU与编译器嵌入式开发驱动开发Web开发VoIP开发技术MySQL& & & MySQL文档中心SybaseOraclePostgreSQLDB2Informix数据仓库与数据挖掘NoSQL技术IT业界新闻与评论IT职业生涯& & & 猎头招聘IT图书与评论& & & CU技术图书大系& & & Linux书友会二手交易下载共享Linux文档专区IT培训与认证& & & 培训交流& & & 认证培训清茶斋投资理财运动地带快乐数码摄影& & & 摄影器材& & & 摄影比赛专区IT爱车族旅游天下站务交流版主会议室博客SNS站务交流区CU活动专区& & & Power活动专区& & & 拍卖交流区频道交流区
UID空间积分0 积分1625阅读权限30帖子精华可用积分1625 信誉积分718 专家积分0 在线时间751 小时注册时间最后登录
家境小康, 积分 1625, 距离下一级还需 375 积分
帖子主题精华可用积分1625 信誉积分718 专家积分0 在线时间751 小时注册时间最后登录
论坛徽章:0
希望以小见大
-----------
19)TCP的关闭过程,说法正确的是()
&&A)TIME_WAIT状态称为MSL(Maximum Segment Lifetime)等待状态
&&B)对一个established状态的TCP连接,在调用shutdown函数之前调用close接口,可以让主动调用的一 方进入半关闭状态
&&C)主动发送FIN消息的连接端,收到对方回应ack之前不能发只能收,在收到对方回复ack之后不能发也不能收,进入CLOSING状态
&&D)在已经成功建立连接的TCP连接上,如果一端收到RST消息可以让TCP的连洁端绕过半关闭状态并允许丢失数据。
----------------
对于上面的题,我排除了a,c
但是b,d还不是很清楚。但是我选b哈。
还有想请教大家 那个 使用shutdown 和 使用close 在tcp 状态机上怎么体现啊?
还有有必要追究这个问题吗?
希望大家指教
&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp
UID空间积分0 积分755阅读权限20帖子精华可用积分755 信誉积分637 专家积分0 在线时间882 小时注册时间最后登录
丰衣足食, 积分 755, 距离下一级还需 245 积分
帖子主题精华可用积分755 信誉积分637 专家积分0 在线时间882 小时注册时间最后登录
论坛徽章:0
应该D是正确的吧,TCP允许在传输的过程中突然中断连接,也就是TCP重置,通过设置RST为1.
通过shutdown进入半关闭状态,调用close会进入四次握手断连过程。
UID空间积分0 积分153阅读权限10帖子精华可用积分153 信誉积分261 专家积分0 在线时间235 小时注册时间最后登录
白手起家, 积分 153, 距离下一级还需 47 积分
帖子主题精华可用积分153 信誉积分261 专家积分0 在线时间235 小时注册时间最后登录
论坛徽章:0
本帖最后由 fdl19881 于
22:27 编辑
1. TIME_WAIT状态好像是等待2×MSL时间的状态呀。
2. 对于sockfd , close会引起4次握手断开连接过程。 shutdown之前调用close,只有当一个sockfd引用了此tcp连接,会出现四次握手。若多个进程或者fd引用了tcp连接,则close一个,只是减少一次引用。& &半关闭状态只能由shutdown引起吧。。 当然除了四次握手的中间暂存的状态不算。也就是半关闭不是由close引起的,而只能由shutdown引起。即使是暂态,close也不一定会引起。
3. c选项应该是错的,, 因为如果使用shutdown SHUT_RD或者SHUT_WR,其实都会引起一次FIN发出。(但是和FIN一起的数据包好像并没有标识是关闭收还是发端,所以我觉得这个是靠两端软件的配合。
& & 发出FIN后,但没收到ACK前,&&应该还是能发,比如超时重发FIN,,也叫发了。&&收到ACK后,会进入FIN_WAIT_2状态。可以发或者可以收.
4. d是对的吧&&A端收到B端发送的RST信号(不管是什么原因),如果此时A端调用send或者write,则A会收到SIGPIPE信号。也就是不能发送。那么在A的发送缓冲区的数据 还会继续发向B端发吗? 还是会直接丢弃?&&我猜测好像是丢弃呀,, 这点求高手给个准确答案。
UID空间积分0 积分16阅读权限10帖子精华可用积分16 信誉积分113 专家积分0 在线时间57 小时注册时间最后登录
白手起家, 积分 16, 距离下一级还需 184 积分
帖子主题精华可用积分16 信誉积分113 专家积分0 在线时间57 小时注册时间最后登录
论坛徽章:0
学习了啊,看你的回复也学习了不少 。
我想数据是丢弃的吧,复位后不是要重新建立连接的吗,这个重新建立连接的过程中发送窗口的值是不是也要重新设定啊?这样的话以前的数据就有可能丢了,不知道猜的对不对
UID空间积分0 积分153阅读权限10帖子精华可用积分153 信誉积分261 专家积分0 在线时间235 小时注册时间最后登录
白手起家, 积分 153, 距离下一级还需 47 积分
帖子主题精华可用积分153 信誉积分261 专家积分0 在线时间235 小时注册时间最后登录
论坛徽章:0
& & 关于a ,TIME_WAIT状态从等待时间上说是应该等待2*MSL时间 。
& & 但a说的是这个状态叫MSL等待状态。。 这两个说法好像是有区别的,他并没指明是等待1*MSL时间呀,,,
& & c的话,一端发了FIN后,不考虑重发FIN的情况 ,在没收到ACK前, 别的普通数据还能不能发出去呢?这个不清楚了 .
北京皓辰网域网络信息技术有限公司. 版权所有 京ICP证:060528号 北京市公安局海淀分局网监中心备案编号:
广播电视节目制作经营许可证(京) 字第1234号
中国互联网协会会员&&联系我们:
感谢所有关心和支持过ChinaUnix的朋友们
转载本站内容请注明原作者名及出处}

我要回帖

更多关于 编程题目 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信