• 课堂作业--寻找水军


    一、题目要求

     随着论坛的发展,管理员发现水王没有了,但是统计结果表明,有三个发帖很多的ID。据统计他们的发帖数量超过了1/4,你能从发帖列表中快速找到他们吗?

    二、设计思路

    本次题目是在上次寻找“水王”的基础上进行拓展,设计思路和上次的相似,上次寻找水王是用的一个水王变量,一个计数变量,那么本次的设计思想沿用上次的技巧,有三个水军变量,三个计数变量;分别使水军的这三个变量和下一个数比较,然后和三个水军相对应的计数变量分别进行计数,相同则加一,不同则抵消减一;依次循环,和水王的规则类似,最后找到3个水军

    三、程序代码

     1 #include "stdafx.h"
     2 
     3 void findshuijun(int arrID[],int num)
     4 {
     5     int shuijun1=0,shuijun2=0,shuijun3=0;
     6     int x1=0,x2=0,x3=0;
     7     for(int i=0;i<num;i++)
     8     {
     9         if(x1==0 && arrID[i]!=shuijun2 && arrID[i]!=shuijun3)
    10         {
    11             x1=1;
    12             shuijun1=arrID[i];
    13         }
    14         else if(x2==0 && arrID[i]!=shuijun1 && arrID[i]!=shuijun3)
    15         {
    16             x2=1;
    17             shuijun2=arrID[i];
    18         }
    19         else if(x3==0 && arrID[i]!=shuijun1 && arrID[i]!=shuijun2)
    20         {
    21             x3=1;
    22             shuijun3=arrID[i];
    23         }
    24         else if(arrID[i]!=shuijun1 && arrID[i]!=shuijun2 && arrID[i]!=shuijun3)
    25         {
    26             x1--;
    27             x2--;
    28             x3--;
    29         }
    30         else if(arrID[i]==shuijun1)
    31         {
    32             x1++;
    33         }
    34         else if(arrID[i]==shuijun2)
    35         {
    36             x2++;
    37         }
    38         else if(arrID[i]==shuijun3)
    39         {
    40             x3++;
    41         }       
    42     }
    43     printf("三个水军的ID分别是:%d、%d、%d
    ",shuijun1,shuijun2,shuijun3);
    44 
    45 }
    46 
    47 
    48 
    49 int main(int argc, char* argv[])
    50 {
    51     int arry[15]={110,110,111,112,113,111,111,112,110,110,112,112,111,113,114};
    52     findshuijun(arry,15);
    53     return 0;
    54 }

    四、程序实现截图

    五、体会

    开始出来的结果不正确,经过调试才发现水军和计数变量没有初始化;这次实验是和同学一起讨论想到的,在设置变量的时候一开始遇到了困难,后来经过一点点的分析才最终解决。

  • 相关阅读:
    文本中溢出的文字在结尾显示为三个点
    git bash 如何建分支
    git本地仓库和远程仓库连接
    button不能直接添加href属性实现页面跳转
    【JAVA】【集合9】ArrayList和Vector区别
    【JAVA】【集合8】Java中的Vector
    【JAVA】【集合7】Java中的ArrayList
    【JAVA】【集合6】Java中的Collections工具类
    【JAVA】【集合5】Java中的List接口
    【JAVA】【集合4】Java中的Collection接口
  • 原文地址:https://www.cnblogs.com/caomeina/p/4460778.html
Copyright © 2020-2023  润新知