软件工程随堂小作业—— 寻找“水王”(C++)
一、设计思路
(1)输入发帖ID记录表
(2)从第一个ID开始,与后续的发帖ID进行比较,若相同计数器则加一,否则减一。若计数器的数值被减为零,则重新选取当前ID开始记录比较。
(3)输出结果
二、源代码
1 // shuiwang.cpp : Defines the entry point for the console application. 2 // 3 4 #include "stdafx.h" 5 #include "iostream.h" 6 #define MAXSIZE 20 7 8 void FindWater(int ID[],int len,int &water) 9 { 10 int counter=0; //计数器 11 for(int i=0;i<len;i++) 12 { 13 if(counter==0) //若计数器为零 14 { 15 water=ID[i]; //记录下当前发帖的ID作为水王嫌疑人 16 counter++; 17 } 18 else 19 { 20 if(water==ID[i]) //若水王嫌疑人与下面的ID相同 21 counter++; //计数器记录下来,否则减一 22 else 23 counter--; 24 } 25 } 26 } 27 int main(int argc, char* argv[]) 28 { 29 int ID[MAXSIZE]; //发帖记录表 30 int num,WaterKing; //发帖数目、水王 31 cout<<"请输入帖子的数量:"; 32 cin>>num; 33 cout<<"请输入发帖ID:"; 34 for(int i=0;i<num;i++) 35 { 36 cin>>ID[i]; 37 } 38 FindWater(ID,num,WaterKing); 39 cout<<"水王是:"<<WaterKing<<endl; 40 return 0; 41 }
三、实验截图
四、心得体会
这个程序其实不难,因为最笨的方法比较简单。但是老师让我们对算法进行优化,要求时间复杂度为O(n),这就有点难度了。我一开始并没有想出来如何优化,于是老师提示我们对发帖记录表做减法,要消消乐。我和同桌讨论出了一种相邻ID不同则消的算法,我们测试了几组数据发现行之有效。就在我们沾沾自喜的时候,另一个同学提出了一种情况,这种算法无法找出改组数据的真正的水王。下课以后我思考了很久,但是都没法解决。最后我请教了别的同学,我把他的思想搞明白之后有自己写的这个程序。
转载于:https://www.cnblogs.com/JJJanepp/p/4448841.html
软件工程随堂小作业—— 寻找“水王”(C++)相关推荐
- 软件工程随堂小作业——随机四则运算Ⅱ(C++)
一.设计思路 设计思路已给出,此处不再赘述. 二.源代码 (1)四则运算2.cpp(源文件) 1 // 四则运算2.cpp : Defines the entry point for the cons ...
- 软件工程课堂作业——寻找“水王”
一.题目: 三人行设计了一个灌水论坛.信息学院的学生都喜欢在上面交流灌水,传说在论坛上有一个"水王",他不但喜欢发帖,还会回复其他ID发的每个帖子.坊间风闻该"水王&qu ...
- 【评分】团队作业-随堂小测(同学录)
[评分]团队作业-随堂小测(同学录) 总结 按时交 - 有分 晚交 - 0分 迟交一周以上 - 倒扣本次作业分数 抄袭 - 倒扣本次作业分数 本次作业 日不落战队 涉及的训练环境较其他组多(在博客中体 ...
- [福大软工] Z班 团队作业——随堂小测(同学录) 作业成绩
团队作业--随堂小测(同学录) 作业链接 http://www.cnblogs.com/easteast/p/7763645.html 作业情况 本次作业从原先预计的3小时,有些组打了鸡血连续肝了4. ...
- 软件工程第三次作业——软件质量保证鄙见
阅读教材第14章及课后参考文献 写一篇关于软件质量保障的博文 参考文献: 两种不同的声音(1)https://coolshell.cn/articles/6994.html (2)https://w ...
- 2022北航敏捷软件工程 第一次博客作业
2022北航敏捷软件工程 第一次博客作业 项目 内容 这个作业属于哪个课程 2022年北航敏捷软件工程 这个作业的要求在哪里 个人阅读作业-阅读和调研 我在这个课程的目标是 了解软件工程的方法论.在实 ...
- 17秋 软件工程 第六次作业 Beta冲刺 总结博客
题目:团队作业--Beta冲刺 17秋 软件工程 第六次作业 Beta冲刺 总结博客 Beta冲刺过程中各个成员的贡献百分比 世强:15.5% 陈翔:14.5% 树民:12.0% 媛媛:14.0% 港 ...
- 随堂小测app(nabcd)
N 现在,老师想要组织测验,需要提前印制试卷,费时费力,考勤采取传统的点名的方式,过程繁琐且结果水分大. 而随堂小测app通过在线答题,智能定位可以帮助老师掌握学生对知识的掌握程度,了解学生的到客情况 ...
- 软件工程第八次作业-2017282110249
软件工程第八次作业-2017282110249 软件工程课程结课自我总结 一.承诺和期望 首先,我觉得在本次课程中我学到和收获了自己想要的东西.学会了结对编程中自我批判与虚心学习,学会了团队作业中协作 ...
最新文章
- Await, and UI, and deadlocks! Oh my!
- mysql-理想的索引
- itertools中常用的工具(chain,islice)
- BF,KMP,BM三种字符串匹配算法性能比较
- iOS自动化打包之重签名导出不同证书ipa探索
- FastThreadLocal
- 高考辽宁理工高考计算机专业分数,辽宁高考985分数线2019-985大学在辽宁省的录取分数线及位次...
- Python中的函数概述
- C#获取周一、周日的日期 函数类
- ASP.NET配置设置-关于web.config各节点的讲解
- Codeforces914D Bash and a Tough Math Puzzle (思维 线段树)
- matlab求组合数不想求组合数矩阵,【潘德的预言】用关系模型与组合数计算NPC最大相容人数和所有组合...
- 详解u盘装系统找不到镜像文件怎么回事
- iText生成pdf带目录
- mysql退出安全模式_MySQL数据库之mysql 解除安全模式
- 【计算机组织与体系结构】实验二:给定指令系统的处理器设计
- C语言中write函数
- 我们是一个团结、有力、强大的团队
- js判断两个时间是否超过一年
- localhost和127.0.0.1都无法打开的解决方法
热门文章
- ERROR 程序出错,错误原因:'bytes' object has no attribute 'read'
- 《iOS 9 开发指南》——第6章,第6.7节iOS 9控件的属性
- 自定义注解 相关知识汇总(转)
- 通用软部件(通用管理信息系统)的研究与生产
- Ubuntu 11.04 beta 2发布!
- sample等价是什么错误_一个复制粘贴引发的有趣小错误及思考
- java语言发展历程
- android手机 代码下载,android手机NFC 示例源码下载
- 使用fio测试磁盘I/O性能
- 阿里 异构数据 mysql_异构数据库迁移