水王2

1、题目要求:

  在一个论坛中,有三个用户,他们的发帖量在总帖数中占了1/4 以上,并且在每一个帖子下都有他们的回复,人们管他叫小水王 

  用最简单、快速的方法找到这三个小水王

2、实现思路:

     本次试验的思路相对上一次试验比较容易想到,虽然有点不太好实现,但是总体来讲还是比较简单的。在本次试验中我们是设置了两个都含有3个元素的数组,shuiwang【3】用来表示要采集的id号,count【3】用来标记三个小水王,当在数组中遇到与shuiwang中相同的id号,count数组中相对应的数值相加1,如果都不同,则都减1,如果有count值减为0,重新赋值,依次寻找,直到得到最终结果。

 1   #include<iostream>
 2   using namespace std;
 3   
 4   int main()
 5   {
 6       int length,i,id;
 7       int shuiwang [3]={0}; 
 8       int count[3] ={0}; //标记三个小水王
 9       int ID[10000];
10      int water[10000];
11      cout << "请输入帖子的总个数:";//定义帖子的长度,即数组的个数
12      cin >> length;
13      
14       if (length <=0)
15       {
16            if(length==0)
17             {
18                 cout<<"没有水王,呜呜呜"<<endl;
19                 return 0;
20             }
21         cout << "输入的帖子数量不正确,请重新输入" << endl;
22         cin >> length;
23         while (length < 0)
24         {
25             cout << "输入的帖子数量不正确,请重新输入" << endl;
26             cin >> length;
27         }
28       }
29          
30     
31      cout << "请依次输入每个帖子的发布者的ID:" << endl;//输入每个帖子的Id
32      for (i = 0; i < length; i++)
33      {
34          cin >> id;
35          ID[i] = id;
36      }
37     for(int i=0;i<length;i++)//查找三个小水王
38      { 
39              if(ID[i]==shuiwang[0])  
40              {  
41                   count[0]++;  
42              }  
43              else if(ID[i]==shuiwang[1])  
44              {  
45                   count[1]++;  
46              }  
47              else if(ID[i]==shuiwang[2])  
48              {  
49                   count[2]++;  
50              }  
51              else if(count[0]==0)  
52              {  
53                   count[0]=1;  
54                 shuiwang[0]=ID[i];  
55              }  
56              else if(count[1]==0)  
57              {  
58                   count[1]=1;  
59                  shuiwang[1]=ID[i];  
60              }  
61              else if(count[2]==0)  
62              {  
63                   count[2]=1;  
64                   shuiwang[2]=ID[i];  
65              }  
66              else  
67              {  
68                   count[0]--;  
69                   count[1]--;  
70                   count[2]--;  
71               }  
72      }
73      
74      cout<<"三个小水王的ID分别是:"<<endl;
75      for(int i=0;i<3;i++)
76       {
77           cout<<shuiwang[i]<<" ";
78       }
79     cout<<endl;
80     return 0;
81  }

实验结果:

 

转载于:https://www.cnblogs.com/apan008/p/5553425.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
单片微型计算机(MCU)经过多年的发展,在性能上有很大的进步,在型号上发展到上千种类,已经广泛应用于人类社会生活的各个领域。单片机课程已经成为高校计算机、自动化、测控以及电子信息工程等专业的重要课程。该课程是一门理论性和实践性都很强的课程,在实际教学中,应将理论教学和实验教学紧密结合。学生在掌握理论知识之余,必须通过编写程序、设计硬件电路、仿真、调试这一系列的实验过程,才能更好地掌握单片机的结构原理和应用技能。随着单片机及其接口技术的飞速发展,目前市场上供应的编程仿真实验资源并不能完全满足高校单片机课程教与学的需求,构建低成本、技术先进、源码公开的单片机编程仿真实验系统,对我国单片机课程的教学和单片机领域人才的培养具有重要的现实意义。 本论文结合目前教学中对单片机编程仿真实验系统的实际需求,采用模块化结构设计思想,精心设计和开发了单片机编程仿真实验系统。该单片机编程仿真实验系统由PC机端单片机编程控制软件和单片机编程仿真实验板两部分组成。PC机端的单片机编程控制软件可以自动检测到连接到单片机编程仿真实验板上的单片机,控制单片机编程器擦除、写入、读出、校验目标单片机ROM中的程序,以十六进制文件(.HEX文件)格式显示在控制界面内;单片机仿真实验系统能够把写入单片机的程序实时地运行,并呈现实际运行效果。单片机编程控制软件和单片机仿真实验板组成一个完整的单片机编程仿真实验系统。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值