C++ 蓝桥杯历届试题 —— 宇宙总统所有题型(附代码)

基础题讲解

题目要求

        地球历公元6036年,全宇宙准备竞选一个最贤能的人当总统,共有n个非凡拔尖的人竞选总统,现在投票已经结束,获得选票最多的人将荣登总统的宝座,如果有多个候选人获得票数一致,那么编号较大的候选人将就任总统的职位。请你编程计算出谁能够胜任总统的职位。
比如,有5位候选人参加竞选,他们的编号分别是1 2 3 4 5,有10个人为他们投票,投票结果是:1 1 1 1 1 2 2 3 4 5,那么1号候选人当选为宇宙总统。

输入格式

第1行是一个整数n,代表投票的总数。(n<=1000)
第2行有n个整数,代表这些选票投给了哪些编号的候选人(候选人编号都是1~100之间的整数)。

输出格式

输出一个整数,代表获得总统职位的候选人的编号。

输入样例

10
1 1 1 1 1 2 2 3 4 5

输出样例

1

题目代码及思路

        运用桶排序,将对应编号加入合适的桶中,在进行比较排序,最后进行输出。

#include 
#include 
using namespace std;
int t[200];
int main(){
    int n,mxi=0;
    cin>>n;
    for(int i=0;i>x;
        t[x]++;
        if(t[x]>t[mxi]){
            mxi++;
        }else if(t[x]==t[mxi]){
            if(x>mxi){
                mxi=x;
            }
        }
    }
    cout<

进阶题点击

题目要求

        地球历公元6036年,全宇宙准备竞选一个最贤能的人当总统,共有n个非凡拔尖的人竞选总统,现在投票已经结束,获得选票最多的人将荣登总统的宝座,如果有多个候选人获得票数一致,那么名字字典码最大的人将获得总统的宝座。请你编程计算出谁能够胜任总统的职位。
比如,有10个人参加了投票,这10张选票结果分别是。
zhangguoqiang
liming
wangfang
zhangguoqiang
wangfang
zhangguoqiang
zhaofei
zhaofei
wangfang
zhaofei
        统计结果zhangguoqiang、wangfang、zhaofei三人每人都是3票,由于zhaofei名字的字典码最大,zhaofei当选为本届宇宙总统。

输入格式

第1行是一个整数n,代表投票的总数。(n<=1000)
第2行~第n+1行,每行是一个得到选票的人的名字(名字一定是小写的拼音,没有空格)。

输出格式

输出n行,按照每个人的得票数由高到低的顺序输出每个人的名字和得票数,中间用空格隔开。(如果有多个人得票数一致,则名字字典码大的人排在前面)

输入样例

10
liming
wangfang
zhangguoqiang
zhangguoqiang
wangfang
zhangguoqiang
zhaofei
zhaofei
wangfang
zhaofei

输出样例

zhaofei 3
zhangguoqiang 3
wangfang 3
liming 1

题目代码及思路

运用结构体,结构体的语法:struct 结构体名 { 类型名 成员名;类型名 成员名;};

将名字和投票数录入结构体,在进行反向排序,最后输出结果。

#include
using namespace std;
struct person{
	string name;
	int cnt;
};
person p[1005];
int k=0;    //当前获选人的数量 
bool cmp(person a,person b){
	if(a.cnt>b.cnt) return true;
	if(a.cntb.name;
}
int main(){
	int n;
	cin>>n;
	for(int i=0;i>s;
		bool flag=false;
		for(int j=0;j

举一反三

题目要求

        某购物网站进行优惠活动,每个商品当天第一个订单可以打75折(75折的意思是用原价 * 0.75)。
        这天网站先后依次收到了N个订单,订单的数据形式是:商品名 价格(单价*数量),商品名是长度不超过20的字符串(商品名不含空格)。
        请按商品名的字典顺序,输出当天每种商品名和其售出的总价。

输入格式

        第一行是一个整数N(N<100000),代表了订单的数量
        接下来有N行,每行第一个数据是商品名的拼音(没有空格),第二行是商品价格(最多包含1位小数)

输出格式

        若干行,按照商品名的字典顺序,输出当天每种商品名和其售出的总价(总价保留1位小数)

输入样例

5
shouji 1080.5
shouji 9800.0
diannao 2980.2
diannao 2280.5
diannao 1000.0

输出样例

diannao 5515.6
shouji 10610.4

题目代码及思路

与上一题类似,不过“第一个订单可以打75折”以及增加价格是不同类型(double类型)。

#include
using namespace std;
struct person{
	string name;
	double cnt;
};
person p[1005];
int k=0;    //当前上商品的数量 
bool cmp(person a,person b){
	return a.name>n;
	for(int i=0;i>s>>x;
		bool flag=false;
		for(int j=0;j

C++ 名言

        自信来自实力,实力源自努力,没有实力讲求自信,是水中浮萍

就让我们一起继续学习C++,一起进步。

你可能感兴趣的:(C++,学习基础,c++,蓝桥杯,开发语言)