【基础】选班委

文章讲述了CZ中学创新实验班的选举过程,小T为了提高计票效率,请求编写一个程序来自动统计选票,找出得票最多的同学及其编号。程序要求输入全班同学和投票人数,输出得票最多的同学编号。
摘要由CSDN通过智能技术生成

大家好,又来一期了!!!!!

题目描述小 T 和他的小伙伴们到 CZ 中学的创新实验班报到后的第一件事就是选班委。

班主任 R 老师走上讲台宣布了选举办法。

首先让全班 40 位同学依次上讲台做自我介绍,然后按照 职位一个一个依次进行选举,先选班长,再选学习委员……

选举办法是每人投一票,谁的票数最高就选谁担任这个职位。

最后围棋高手小 W 颇具大将风范被选为班长,学神小 Z 当选为学习委员那是众望所归,小 S 则有天生一副好嗓子,不但歌唱得好,并且能将多种动物的叫声模仿得惟妙惟肖,因此当选为文体委员。

小 T 同学在本次选举中负责计票,他觉得手工计票太慢了,且容易出错,因此想请你编一个程序实现机器计票功能。

这个程 要能实现以下功能:

全班共有 n 个同学,依次用 1 到 n 编号,共有 m 个人(包括班主任和任课老师等)参与了投票,每张选票上写有一个同学的编号,得票最多的同学当选。

输入

输入数据第一行包含两个用空格隔开的正整数n和m,其中n≤200,m≤2000。

第二行有m个用空格隔开的不超过n的正整数,表示这m张选票上所写的编号。

输出

输出得票最多的那个同学的编号。如果同时有两名以上同学得票最多,输出编号最小的那个同学的编号。

样例

输入  

3 4 1 3 2 1

输出

1

提示

例解释

全班共有 3 位同学,共有 4 人进行了投票,其中有 2 人选了 1 号同学,选 2 号和 3 号

同学的都只有 1 人,最后 1 号同学得 2 票,2 号和 3 号同学各得 1 票,1 号同学得票最多, 当选班委。

数据范围

20%的数据满足:n≤3,m≤20

60%的数据满足:n≤100,m≤500

70%的数据满足:得票最多的同学是唯一的

100%的数据满足:n≤200,m≤2000

#include<bits/stdc++.h>
using namespace std;
int n,m,t,maxn=INT_MIN,b;
int main(){
	cin>>n>>m;
	int a[m+5]={0};
	for(int i=1;i<=m;++i)
	{
		cin>>t;
		a[t]++;
	}
	for(int i=1;i<=n;++i)
	{
		if(a[i]>maxn)
		{
			maxn=a[i]; 
			b=i;
		}
	}
	cout<<b<<endl;
	return 0;
}

优秀班委举系统 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace 优秀班委举 { public partial class Form1 : Form { private ListBox listBox; public Form1() { InitializeComponent(); } public Form1(ListBox listBox) { InitializeComponent(); this.listBox = listBox; } private void button1_Click(object sender, EventArgs e) { if (listBox1.Items.Count > 0) { if (listBox1.SelectedItem == null) { MessageBox.Show("请先择一个对象!"); } else { //获取左边listBox1中中的内容 string cont = listBox1.SelectedItem.ToString(); //左边listBox1中删除中的内容 listBox1.Items.Remove(cont); //把获得的内容加入到右边的listBox2中 listBox2.Items.Add(cont); } } } private void button2_Click(object sender, EventArgs e) { if (listBox2.Items.Count > 0) { if (listBox2.SelectedItem == null) { MessageBox.Show("请先择一个对象!"); } else { //获取右边listBox2中中的内容 string cont = listBox2.SelectedItem.ToString(); //右边listBox2中删除中的内容 listBox2.Items.Remove(cont); //把获得的内容加入到左边的listBox1中 listBox1.Items.Add(cont); } } } //退出 private void button5_Click(object sender, EventArgs e) { Application.Exit(); } //显示结果 private void button4_Click(object sender, EventArgs e) { //传递listBox2到Form2窗口中 Form2 form2 = new Form2(listBox2); form2.Show(); } //修改名单 private void button3_Click(object sender, EventArgs e) { if (listBox2.SelectedItem == null) { MessageBox.Show("请先择一个对象!"); } else { string cont = listBox2.SelectedItem.ToString(); int index = listBox2.SelectedIndex; Form3 form3 = new Form3(cont, index, listBox2); form3.Show(); this.Hide(); } } //加载窗口 private void Form1_Load(object sender, EventArgs e) { if (listBox != null) { foreach (string str in listBox.Items) { listBox2.Items.Add(str); } } } } }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值