zoukankan      html  css  js  c++  java
  • 个人作业—找水王2

    题目要求:

                 随着论坛的发展,管理员发现水王没有了,但是统计结果表明,有三个发帖很多的ID。

                 据统计他们的发帖数量超过了1/4,你能从发帖列表中快速找到他们吗?

    设计思路:

                  

    1、输入总帖子数x

    2、定义一个一维数组a[x],为作者id。设置循环输入作者id

    3、定义三个小水王,以及其净帖子数

    4、再设置一个循环,按照顺序来依次进行比较,如果净帖子数大于0则作者id不变,如果作者id等于0,则将此id作为新的小水王id,如此循环x

    5、最后剩余的作者id即为水王id

    源程序:

     1 import java.util.Scanner;
     2 
     3 
     4 public class water {
     5 
     6     public static void main(String[] args) {
     7         // TODO 自动生成的方法存根
     8         System.out.println("共有多少个帖子(请输入大于3的数)");
     9         Scanner input =new Scanner(System.in);
    10         int x=input.nextInt();
    11         String a[]=new String[x];
    12         //发帖子情况
    13         for(int i=0;i<x;i++)
    14         {
    15             System.out.println("请输入第"+(i+1)+"个帖子的作者id");
    16             Scanner input1 =new Scanner(System.in);
    17             a[i]=input1.nextLine();
    18         }
    19         //找水王
    20         String s1="";//小水王1
    21         String s2="";//小水王2
    22         String s3="";//小水王3
    23         int c1=0;
    24         int c2=0;
    25         int c3=0;//c1,c2,c3分别是小水王最后净帖子数,如果c1,c2,c3不是正数则不是水王
    26         for(int i=0;i<x;i++)
    27         {
    28            if(s1.equals(a[i]))//如果相等净帖子数加1
    29            {
    30                c1++;
    31            }
    32            else if(s2.equals(a[i]))
    33            {
    34                c2++;
    35            }
    36            else if(s3.equals(a[i]))
    37            {
    38                c3++;   
    39            }
    40            else if(c1==0)
    41            {
    42                s1=a[i];
    43            }
    44            else if(c2==0)
    45            {
    46                s2=a[i];
    47            }
    48            else if(c3==0)
    49            {
    50                s3=a[i];
    51            }
    52            else//如果都不相等净帖子数均减1
    53            {
    54                c1--;
    55                c2--;
    56                c3--;        
    57            }
    58         }
    59         System.out.println("水王是"+s1+" "+s2+" "+s3);
    60     }
    61 
    62 }

    运行截图:

    结果分析:这次要寻找三个小水王,为了避免其重复,所以初始化要通过循环来进行,将三个小水王按照循环进行的顺序初始化为最先出现的三个不同的id;这样就不能将净帖子数初始化为1,需初始化为0,只有为小水王赋新值时才能将其置为1.

  • 相关阅读:
    【dp专题1】hdu1003 D
    #网络之宙斯盾航母#-----占位--------linux
    面向过程6-----#过程之王#----占个位-----汇编语言----(面向机器)
    面向过程5----c#
    高级语言学习总结
    js实现求二元一次方程的根
    小知识点总结
    js小案例,判断年龄是否成年
    js实现结婚吧小案例
    面向过程4-----perl
  • 原文地址:https://www.cnblogs.com/muamu/p/5528410.html
Copyright © 2011-2022 走看看