导航菜单
首页 >  蓝桥杯c真题  > 2022年第十三届蓝桥杯大赛C组真题C/C++解析(上)

2022年第十三届蓝桥杯大赛C组真题C/C++解析(上)

**今天给大家带来2022年,第十三届蓝桥杯大赛的真题解析**

请添加图片描述 转眼间,距离考试已经过去很长时间了,今天解元给大家解析一下,有问题欢迎大家指点 :笑:

下面进入正题前言填空题1.排列字母2.特殊时间编程题1.纸张尺寸1.1纸张大小代码 2.求和2.1求和代码 3.数位排序3.1数位排序代码结语

前言

考试已经结束,有的同学可能对于这次考试不太理想,本以为能靠填空题能得省三,可谁知道填空题只有两道。希望大家调整好心态,去迎接更大的挑战。 话不多说,直接上题解

填空题 1.排列字母

【问题描述】小蓝要把一个字符串中的字母按其在字母表中的顺序排列。 例如,LANQIAO 排列后为 AAILNOQ。 又如,GOODGOODSTUDYDAYDAYUP 排列后为 AADDDDDGGOOOOPSTUUYYY。 请问对于以下字符串,排列之后字符串是什么? WHERETHEREISAWILLTHEREISAWAY

这一题送分题,口算都能算出,明显是用ASCII排序的,因为字符在内存中存储情况就是用ASCII,所以直接比大小就ok。下面我用程序的方法给大家写出来

#include#include#includevoid String_sore(char arr[], const int len){assert(arr);int i=0 , j =0;char ret ;for (i = 0; i y ? printf("%d\n%d", x, y) : printf("%d\n%d", y, x);//因为题目中的输出案例长边总在上面,所以加了个三目操作符return 0;}

在这里插入图片描述

2.求和

【问题描述】 给定 n 个整数 a1, a2, · · · , an ,求它们两两相乘再相加的和,即 S = a1 · a2 + a1 · a3 + · · · + a1 · an + a2 · a3 + · · · + an−2 · an−1 + an−2 · an + an−1 · an. 【输入格式】 输入的第一行包含一个整数 n 。 第二行包含 n 个整数 a1, a2, · · · an。 【输出格式】 输出一个整数 S,表示所求的和。请使用合适的数据类型进行运算。 【样例输入】 4 1 3 6 9 【样例输出】 117 【评测用例规模与约定】 对于 30% 的数据,1 ≤ n ≤ 1000,1 ≤ ai ≤ 100。 对于所有评测用例,1 ≤ n ≤ 200000,1 ≤ ai ≤ 1000。

这一题用的是C++写的,c的话运行速度会比较慢

2.1求和代码 #includeusing namespace std;int main(){long long a, b, n, i, k = 0, sum = 0;//定义所有用到的变量cin >> n;for (i = 0; i > b;k += sum * b;sum += b;}cout

相关推荐: