作业-去重复统计

发布时间:2024年01月06日

目录

免费游戏

投票

军训领物资

统计分数出现的次数

免费游戏2


免费游戏

题目描述

steam游戏平台官方周年庆,限时开放30款游戏免费下载(编号1-30)官方想知道哪些游戏被下载过

输入

第一行是一个整数n代表下载的总数量

第二行的n个整数代表n次下载游戏的编号

输出

1行,被下载过的游戏编号列表,中间用空格隔开

样例

输入复制

101 3 3 5 2 4 1 6 9 9

输出复制

1 3 5 2 4 6 9

#include <iostream>
using namespace std;
int main()
{
	int a[110];//原数组
	int b[110];//新数组
	int la = 0;
	int lb = 0;
	cin>>la;
	for(int i = 0;i<la;i++)
	{
		cin>>a[i];
	}
	for(int i = 0;i<la;i++)
	{
		bool f = false;
		for(int j = 0;j<lb;j++)
		{
			if(a[i] == b[j])
			{
				f = true;
				break;
			}
		}
		if(f == false)
		{
			b[lb] = a[i];
			lb++;
		}
	}
	for(int i = 0;i<lb;i++)
	{
		cout<<b[i]<<" ";
	}
	return 0;
}

投票

题目描述

王者荣耀要评选出最受欢迎的角色,每个角色都有编号(1-100)请你设计投票系统,可以显示每个角色(对应编号)出现的次数显示按票数从大到小排序。如果票数相等,不分先后顺序。

输入

第一行是一个整数n代表投票数量

第二行的n个整数代表投票的角色编号

输出

n行,每行两个整数

第一个数角色编号,第二个整数代表获得的票数

样例

输入复制

10

2 23 3 2 23 65 1 1 30 23

输出复制

23? 3

2? 2

1? 2

3? 1

65? 1

30? 1

#include <iostream>
using namespace std;
int main()
{
	int a[110];
	int b[110];
	int c[0];
	int la = 0;
	int lbc = 0;
	cin>>la;
	for(int i = 0;i<la;i++)
	{
		cin>>a[i];
	}
	for(int i = 0;i<la;i++)
	{
		bool f = false;
		for(int j = 0;j<lbc;j++)
		{
			if(a[i] == b[j])
			{
				f = true;
				c[j]++;
				break;
			}
		}
		if(f == false)
		{
			b[lbc] = a[i];
			c[lbc] = 1;
			lbc++;
		}
	}
	for(int i = 0;i<la-1;i++)
	{
		for(int j = 0;j<la-1-i;j++)
		{
			if(c[j] < c[j+1])
			{
				int tam = c[j];
				c[j] = c[j+1];
				c[j+1] = tam;
				int tam2 = b[j];
				b[j] = b[j+1];
				b[j+1] = tam2;
			}
		}
	}
	for(int i = 0;i<lbc;i++)
	{
		cout<<b[i]<<" "<<c[i]<<endl;
	}
	return 0;
}

军训领物资

题目描述

军训期间,童鞋们可以领用自己喜欢的颜色的水杯(颜色已编号1-50之间)教官想知道最受欢迎的颜色是哪个,领取了多少个,请你编程帮助教官实现功能假设最受欢迎的编号唯一

输入

第一行,一个整数n代表有多少人领取物资

第二行,n个整数代表每个人领取的颜色编号

输出

1行,领取数量最多的颜色编号及数量

第一个整数代表角色编号,第二个整数代表领取的数量

样例输入

复制

10

1 4 2 6 2 9 1 9 9 8

输出复制

9 3

#include <iostream>
using namespace std;
int main()
{
	int a[110];
	int n;
	cin>>n;
	for(int i = 0;i<n;i++)
	{
		cin>>a[i];
	}
	int tam;
	for(int i = 0;i<n;i++)
	{
		if(a[i] < a[i+1])
		{
			tam = a[i+1];
		}
	}
	int sum = 0;
	for(int i = 0;i<n;i++)
	{
		if(a[i] == a[i+1])
		{
			sum++;
		}
	}
	cout<<tam<<" "<<sum;
	return 0;
}

统计分数出现的次数

题目描述

考试结束后,老师想知道童鞋们的考试分数情况

输入全班n个童鞋的成绩,请你设计程序统计每个分数出现的次数

输入

第一行是一个整数n代表全班人士

第二行的n个整数分别每个同学的成绩

输出

n行,每行两个整数

第一个数代表成绩,第二个数代表该成绩的人数

样例

输入复制

10

90 99 100 99 80 60 60 70 90 60

输出复制

90 2

99 2

100 1

80 1

60 3

70 1

#include <iostream>
using namespace std;
int main()
{
	int a[110];
	int b[110];
	int c[110];
	int la = 0;
	int lbc = 0;
	cin>>la;
	for(int i = 0;i<la;i++)
	{
		cin>>a[i];
	}
	for(int i = 0;i<la;i++)
	{
		bool f = false;
		for(int j = 0;j<lbc;j++)
		{
			if(a[i] == b[j])
			{
				f = true;
				c[j]++;
				break;
			}
		}
		if(f == false)
		{
			b[lbc] = a[i];
			c[lbc] = 1;
			lbc++;
		}
	}
	for(int i = 0;i<lbc;i++)
	{
		cout<<b[i]<<" "<<c[i]<<endl;
	}
	return 0;
}

免费游戏2

题目描述

steam游戏平台官方周年庆,限时开放30款游戏免费下载(编号1-30)

官方想知道哪些游戏被下载过,下载次数数多少,请按照游戏编号输出下载次数

输入

第一行是一个整数n代表下载的总数量

第二行的n个整数代表n次下载游戏的编号

输出

n行,每行2个整数,代表被下载过的游戏编号级下载次数

样例

#include <iostream>
using namespace std;
int main()
{
	int a[110];
	int b[110];
	int c[110];
	int la = 0;
	int lbc = 0;
	cin>>la;
	for(int i = 0;i<la;i++)
	{
		cin>>a[i];
	}
	for(int i = 0;i<la;i++)
	{
		bool f = false;
		for(int j = 0;j<lbc;j++)
		{
			if(a[i] == b[j])
			{
				f = true;
				c[j]++;
				break;
			}
		}
		if(f == false)
		{
			b[lbc] = a[i];
			c[lbc] = 1;
			lbc++;
		}
	}
	for(int i = 0;i<lbc;i++)
	{
		cout<<b[i]<<":"<<c[i]<<endl;
	}
	return 0;
}

文章来源:https://blog.csdn.net/lybr513208/article/details/135427777
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。