蓝桥杯校内选拔热身赛部分题解

代码中奇怪的东西参见 -->戳我

问题 A: 宅宅的排位赛

花里胡哨的题意,看完才知道是求和然后相减(手动滑稽)。

标程

#include <stdio.h>
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;

const int INF = 0x3f3f3f3f;

int main()
{
#ifdef LOCAL
	freopen("C:/input.txt", "r", stdin);
#endif
	int T;
	cin >> T; //相当于scanf
	while (T--)
	{
		int ans = 0, x;
		for (int i = 0; i < 14; i++) //接受14个数值求和
		{
			scanf("%d", &x);
			ans += x;
		}
		for (int i = 0; i < 14; i++) //每次减去第二组的14个数值
		{
			scanf("%d", &x);
			ans -= x;
		}
		cout << ans << endl; //相当于printf
	}

	return 0;
}

问题 B: 冒泡排序

基础的排序算法,不过效率较低,sort函数实现方式为快速排序可以学习一下。

标程

#include <stdio.h>
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;

const int INF = 0x3f3f3f3f;
const int MAXN = 1e3 + 10;
int a[MAXN];

int main()
{
#ifdef LOCAL
	freopen("C:/input.txt", "r", stdin);
#endif
	int T;
	cin >> T;
	while (T--)
	{
		int N;
		cin >> N;
		for (int i = 0; i < N; i++)
			scanf("%d", &a[i]);
		for (int i = 0; i < N; i++) //冒泡排序
			for (int j = i + 1; j < N; j++)
				if (a[i] > a[j])
				{
					int t = a[i];
					a[i] = a[j];
					a[j] = t;
				}
		//sort(a, a + N);  //冒泡排序这8行可以用这一函数代替而且速度更快
		for (int i = 0; i < N; i++)
			printf("%d\n", a[i]);
	}

	return 0;
}

猜你喜欢

转载自blog.csdn.net/CaprYang/article/details/84032937