当前位置: 首页 > news >正文

C语言蓝桥杯真题代码

以下是不同届蓝桥杯C语言真题代码示例,供参考:

 

第十三届蓝桥杯省赛 C语言大学B组

 

真题:卡片

 

题目:小蓝有很多数字卡片,每张卡片上都是数字1-9。他想拼出1到n的数列,每张卡片只能用一次,求最大的n。

 

#include <stdio.h>

 

int main() {

    int cnt[10] = {0}; // 记录各数字卡片数量(初始均为0,实际1的卡片最多2021张)

    int n = 0, flag = 1;

    // 假设初始1的卡片有2021张,其他数字足够多(题目中1的卡片最先用完)

    while (flag) {

        n++;

        int temp = n;

        while (temp > 0) {

            int d = temp % 10;

            if (d == 1) cnt[1]++; // 统计数字1的使用次数

            temp /= 10;

        }

        if (cnt[1] > 2021) { // 超过2021张时停止

            flag = 0;

            n--; // 最后一次循环多算了一次,需减1

        }

    }

    printf("%d\n", n); // 输出最大n

    return 0;

}

 

 

第十二届蓝桥杯省赛 C语言大学A组

 

真题:平面分割

 

题目:n条直线最多将平面分成多少个区域(可相交,无重合)。

 

#include <stdio.h>

 

int main() {

    int n;

    scanf("%d", &n);

    long long res = 1 + n * (n + 1) / 2; // 公式:f(n) = n(n+1)/2 + 1

    printf("%lld\n", res);

    return 0;

}

 

 

第十届蓝桥杯省赛 C语言大学B组

 

真题:等差数列

 

题目:给定n个整数,求最少需要添加多少个数,使其成为等差数列。

 

#include <stdio.h>

#include <stdlib.h>

 

// 比较函数,用于排序

int cmp(const void *a, const void *b) {

    return *(int *)a - *(int *)b;

}

 

int main() {

    int n, i, d, min_d;

    scanf("%d", &n);

    int a[n];

    for (i = 0; i < n; i++) scanf("%d", &a[i]);

    qsort(a, n, sizeof(int), cmp); // 排序

    

    if (n <= 2) { // 少于3个数时,公差可为0或任意,直接输出0

        printf("0\n");

        return 0;

    }

    

    // 计算最小公差d(需去重)

    min_d = a[1] - a[0];

    for (i = 2; i < n; i++) {

        d = a[i] - a[i-1];

        if (d < min_d) min_d = d;

    }

    if (min_d == 0) { // 所有数相同,无需添加

        printf("0\n");

        return 0;

    }

    

    // 计算需要添加的数的个数

    int total = (a[n-1] - a[0]) / min_d + 1; // 等差数列总项数

    printf("%d\n", total - n); // 总项数 - 原数个数

    return 0;

}

 

 

注意事项:

 

1. 审题:蓝桥杯题目常隐含边界条件(如数据范围、特殊输入),需仔细阅读题目。

2. 效率:部分题目需优化算法(如排序、数学公式),避免超时。

3. 调试:用样例输入验证代码逻辑,尤其是边界情况(如n=0、n=1)。

 

如果需要某届具体题目的代码或更多解析,可以进一步说明!

http://www.xdnf.cn/news/263071.html

相关文章:

  • Go反射-通过反射调用结构体的方法(带入参)
  • 解决奥壹oelove婚恋原生小程序上架问题,彻底解决解对问题增强版旗舰版通用
  • 计算机网络八股文--day4 --传输层TCP与UDP
  • WebAPI项目从Newtonsoft.Json迁移到System.Text.Json踩坑备忘
  • 【项目实践】boost 搜索引擎
  • 基于 JSP 和 Servlet 的数字信息分析小应用
  • 【Linux】驱动开发方法
  • ES6/ES11知识点 续一
  • 人工智能发展史 — 物理学诺奖之 Hopfield 联想和记忆神经网络模型
  • 19:常见的Halcon数据格式
  • 优化01-统计信息
  • 深入解析 SqlSugar 与泛型封装:实现通用数据访问层
  • 图论之幻想迷宫
  • 使用Rust + WebAssembly提升前端渲染性能:从原理到落地
  • 网络安全:sql注入练习靶场——sqli_labs安装保姆级教程
  • 【tcp连接windows redis】
  • c++_2011 NOIP 普及组 (1)
  • Python Django基于小波变换的数字水印技术实现系统【附源码、文档说明】
  • (37)VTK C++开发示例 ---纹理地球
  • 多协议 Tracker 系统架构与传感融合实战 第五章 卡尔曼滤波定位算法实战
  • Linux《进程概念(下)》
  • 【Linux】Petalinux驱动开发基础
  • 物联网智能项目之——智能家居项目的实现!
  • 基于PyTorch的食物图像分类实战:从数据处理到模型训练
  • AAA GitOps详解
  • n8n工作流自动化平台的实操:本地化高级部署
  • 浙大:优化视觉模型的过度思考
  • 【Godot】生命周期详解:从节点诞生到销毁的全流程解析
  • 软件工程实践
  • sonar-scanner在扫描JAVA项目时为什么需要感知.class文件