zoukankan      html  css  js  c++  java
  • 课堂作业——找“水王”

    一、程序要求

      三人行设计了一个灌水论坛。信息学院的学生都喜欢在上面交流灌水,传说在论坛上有一个“水王”,他不但喜欢发帖,还会回复其他ID发的每个帖子。坊间风闻该“水王”发帖数目超过了帖子数目的一半。

      如果你有一张当前论坛的帖子(包括回帖)列表,其中帖子的作者的ID也在其中,你能快速的找到这个传说中的水王吗?

    二、程序设计思想

      题目中给出条件“该水王发帖数目超过了帖子数目的一半”,所以,可两两连续比较,若不一样,则第一个ID置0,向后进行;若一样,则该数的计数器加1,最后输出计数器最大的ID。

    三、源程序代码

     1 //找水王,2016.5.20
     2 
     3 #include <iostream>
     4 using namespace std;
     5 
     6 int main()
     7 {
     8     int a[100], count[50];
     9     int len, max = 0, flag;
    10     cout << "请输入ID个数:" << endl;
    11     cin >> len;
    12     cout << "请输入所有帖子的ID:" << endl;
    13     for (int i = 0; i<len; i++)
    14     {
    15         cin >> a[i];
    16         count[a[i]] = 0;
    17     }
    18 
    19     for (int j = 0; j<len - 1; j++)
    20     {
    21         if (a[j] == a[j + 1])
    22         {
    23             count[a[j]]++;
    24             if (count[a[j]]>max)
    25             {
    26                 max = count[a[j]];
    27                 flag = j;
    28             }
    29         }
    30 
    31         if (a[j] != a[j + 1])
    32         {
    33             a[j] = 0;
    34         }
    35     }
    36 
    37     cout << "水王的ID为:" << a[flag] << endl;
    38     return 0;
    39 }

    四、运行结果截图

      

      

      

    五、项目计划日志:

              周活动总结表

    姓名:张莹荧                             日期:2016-05-20

    日期/任务    听课     编写程序    阅读课本   准备考试                        日总计  
    周一 100   30 120     250
    周二   30 30 120     180
    周三   180   180     360
    周四 100 30    120     250
    周五   30         30
    周总结 200 270 60 540     1070

    阶段时间和效率                      周数:12

    不包括上一周在内的累计时间

    总计 200 270 60 540       1070
    平均 200 270 60 540     1070
    最大 200 270 60 540     1070
    最小 200  270 60 540     1070

    以前各周的累计时间

    总计 200 270 60 540       1070
    平均 200 270 60 540     1070
    最大 200 270 60 540     1070
    最小 200 270 60 540     1070

    六、时间记录日志:

      学生:张莹荧                 日期:2016-05-20

      教师:王建民                 课程: PSP  

    日期 开始时间 结束时间 中断时间 净时间 活动 备注
    5.16

    14:00

    15:50

    10

    100

    上课

    课间休息
    5.17

    10:00

    10:30

    0

    30

    编程  
    5.18

    14:30

    17:40

    10

    180

    编程

    中间休息
    5.19

    12:30

    14:00

    13:00

    15:50

    0

    10

    30

    100

    编程

    上课

     课间休息

    5.20

    11:00

    11:30

    0

    30

    编程

     

    七、缺陷记录日志:

      学生: 张莹荧 

      日期: 2016-05-20 

      教员:  王建民     

      程序号:  12  

     日期  编号 类型 引入阶段 排除阶段 修复时间 修复缺陷
     5.18  1 算法 编码 查资料、问同学 30min  
    描述:程序设计问题,不知道该如何入手。
     
     
     
     
     

    八、实验总结

      见到题目之后,一开始根本就没有想法,经过课堂上和老师同学们讨论,发现了两两不同消除之后就是水王的。这次的算法也是主要考察时间的优化,知道了要消除,可是消除的条件还不是很明朗,通过老师的提醒,自己下课编写了算法和程序。对于这种优化算法的问题,还是应该多多练习。

  • 相关阅读:
    Linux 文件查询
    Linux 文件与目录的权限
    Linux查看文件内容
    Linux文件与目录管理
    Linux的文件权限
    java 源码编译
    jvm 字节码执行 (二)动态类型支持与基于栈的字节码解释执行
    jvm 字节码执行 (一)方法调用
    玩转mongodb(七):索引,速度的引领(全文索引、地理空间索引)
    玩转mongodb(六):索引,速度的引领(普通索引篇)
  • 原文地址:https://www.cnblogs.com/zhyying/p/5511777.html
Copyright © 2011-2022 走看看