C语言蓝桥杯组题目

系列文章目录

文章目录

  • 系列文章目录
  • 前言
  • 题目
    • 第一题.1, 2, 3, 4 能组成多少个互不相同且无重复数字的三位数?都是多少?
    • 第二题: 一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
    • 第三题: 输入某年某月某日,判断这一天是这一年的第几天?
    • 第四题:输入三个整数X,Y,Z,请把这三个数由小到大输出
    • 第五题:C语言用*号输出字母C的图案 1
    • 第六题:C语言用*号输出图案 2
    • 第七题:C语言用*号输出图案 3
    • 第八题:C语言用*号输出图案=>输入菱形的高度,若为奇数,用*勾勒出棱形,否则输出报错
    • 第九题:C语言用*号输出图案=>时空沙漏
    • 第十题:C语言用九九乘法表
    • 第十一题:C语言输出国际象棋棋盘
    • 第十二题:打印楼梯,同时在楼梯上方打印两个笑脸。
  • 持续更新中..
  • 经典结尾


前言

蓝桥杯看着很简单实际有点难度,只有自己熟练掌握语法之后再去刷算法题才可以游刃有余.

题目

第一题.1, 2, 3, 4 能组成多少个互不相同且无重复数字的三位数?都是多少?

结果:
  •  可以组成 24 个三位数。
    
  •  三位数分别是: 123, 124, 132, 134, 142, 143, 213, 214, 231, 234, 241, 243, 312, 314, 321, 324, 341, 342, 412, 413, 421, 423, 431, 432.
    
#include <stdio.h>
main() {
  int i, j, k;
  for (i = 1; i <= 4; i++) {
    for (j = 1; j <= 4; j++) {
      for (k = 1; k <= 4; k++) {
        if (i != j && i != k && j != k) {
          printf("i=%d j=%d k=%d ", i, j, k);
        }
      }
    }
  }
}

思路

  • 使用穷举算法

第二题: 一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?

结果:
  •   该数是 21
    
#include <stdio.h>
#include <math.h>

main() {
    int x;
    // 假设搜索范围为0到10000
    for (x = 0; x <= 10000; x++) {
        // 检查 x + 100 是否为完全平方数
        int a_square = x + 100;
        int b_square = x + 268;

        // 使用 sqrt 函数计算平方根并检查是否为完全平方数
        int a = (int)sqrt(a_square);
        int b = (int)sqrt(b_square);

        if (a * a == a_square && b * b == b_square) {
            printf("找到满足条件的整数: %d\n", x);
            return 0; // 找到解后退出
        }
    }

    printf("没有找到满足条件的整数。\n");
}

思路

  • 完全平方数检测:
  • 使用 sqrt() 函数计算平方根,并将结果转换为整数。
  • 检查 ( a ) 和 ( b ) 的平方是否分别等于 ( x + 100 ) 和 ( x + 268 )。

第三题: 输入某年某月某日,判断这一天是这一年的第几天?

结果:
  •   输入:
    
  •   	year:2000
    
  •   month:12
    
  •   	day:6
    
  •    结果: 341
    
#include <stdio.h>

int main() {
  int year, month, day, sum = 0,i;
  int days[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
  printf("请输入年份:");
  scanf("%d", &year);
  printf("请输入月份:");
  scanf("%d", &month);
  printf("请输入日期:");
  scanf("%d", &day);

  // 判断是否为闰年
  if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) {
    days[1] = 29;
  }

  // 计算天数
  for ( i = 0; i < month - 1; i++) {
    sum += days[i];
  }
  sum += day;
  
  printf("%d年%d月%d日是这一年的第%d天", year, month, day, sum);

}

思路

  • 1.区分平年和闰年
  • 2.把每一年的天数加起来
  • 3.最后在输出

第四题:输入三个整数X,Y,Z,请把这三个数由小到大输出

结果:
  •   输入:
    
  •   	x: 200
    
  •       y: 12
    
  •   	z: 600
    
  •    结果: 12 200 600
    
#include <stdio.h>

main() {
    int X, Y, Z;
    
    // 输入三个整数
    printf("请输入三个整数(X Y Z):");
    scanf("%d %d %d", &X, &Y, &Z);
 
    // 使用简单的排序算法进行排序
    int temp;
    // 冒泡排序
    if (X > Y) {
        temp = X;
        X = Y;
        Y = temp;
    }
    if (X > Z) {
        temp = X;
        X = Z;
        Z = temp;
    }
    if (Y > Z) {
        temp = Y;
        Y = Z;
        Z = temp;
    }
    // 输出结果
    printf("由小到大的顺序为:%d %d %d\n", X, Y, Z);
}

思路

  •    1.三个数用冒泡排序输出
    

第五题:C语言用*号输出字母C的图案 1

#include <stdio.h>

main() {
    int height = 7; // 图案高度
    int width = 7;  // 图案宽度
    int i,j;
    for ( i = 0; i < height; i++) {
        for ( j = 0; j < width; j++) {
            // 输出 '*' 的条件
            if ((i == 0 && j > 0 && j < width - 1) ||  // 顶边
                (i == height - 1 && j > 0 && j < width - 1) ||  // 底边
                (j == 0 && (i > 0 && i < height - 1))) { // 左边
                printf("*");
            } else {
                printf(" ");
            }
        }
        printf("\n"); // 换行
    }
}
思路:
	1. 外层循环 for (int i = 0; i < height; i++) 控制行数(高度)。
	    内层循环 for (int j = 0; j < width; j++) 控制列数(宽度)。
	2. 第一行和最后一行打印 * 的条件是:当 i 为 0 或 height - 1,且 j 在 0 和 width - 1 之间。
		左边竖线的条件是:j == 0 且 i 在 0 和 height - 1 之间。
	3. 在符合条件的情况下打印 *,否则打印空格

第六题:C语言用*号输出图案 2

图形:

  *
 ***
*****

代码:

#include "Stdio.h" 
main(){
	int i,j,k;
	for(i=1;i<=3;i++) {
		for(k=3-i;k>0;k--)
			printf(" ");
		for(j=1;j<=i*2-1;j++){
			printf("*");
		}
		printf("\n");
	}		
}                       

思路:

1.外层循环控制行数
2.内层循环控制空格和*
3.答案直接出来

第七题:C语言用*号输出图案 3

图形:

  *
 ***
*****
 ***
  *

代码:

#include "Stdio.h" 
main(){
	int i,j,k;
	for(i=1;i<=3;i++) {
		for(k=3-i;k>0;k--)
			printf(" ");
		for(j=1;j<=i*2-1;j++){
			printf("*");
		}
		printf("\n");
	}
	
	for(i=2;i>0;i--) {
		for(k=3-i;k>0;k--)
			printf(" ");
		for(j=1;j<=i*2-1;j++){
			printf("*");
		}
		printf("\n");
	}		
}                                        

思路:

1.外层循环控制行数
2.内层循环控制空格和*
3.多写一个For循环
4.答案直接出来

第八题:C语言用号输出图案=>输入菱形的高度,若为奇数,用勾勒出棱形,否则输出报错

图形:

输入:5
	*
   * *
  *   *
   * *
    *  

代码:

#include <stdio.h>
main()
{
    int n, i, j, m;
    printf("请输入一个高度:");
    scanf("%d",&n);
    m = (n + 1) / 2;//将图形分成两部分进行打印
    if (n % 2 != 0) {
        for (i = 1; i <= m; i++)//打印上半部分的图形,类似于打印正立的图形
        {
            for (j = m - i; j > 0; j--)
                printf(" ");
            for (j = 1; j <= 2 * i - 1; j++)
            {
           	    //解决空心问题
                if (j == 1 || j == 2 * i - 1)
                    printf("*");
                else printf(" ");
            }
            printf("\n");
        }
        //解决下半部分
        for (i = n - m; i > 0; i--)
        {
            for (j = m - i; j > 0; j--)
                printf(" ");
            for (j = 1; j <= 2 * i - 1; j++)
            {
                if (j == 1 || j == 2 * i - 1)
                    printf("*");
                else printf(" ");
            }
            printf("\n");
        }
    }
    else 
      printf("报错\n");
}

思路:

1.整体思考如何将图形拆开/2
2.外层循环控制行数
3 内层循环控制空格和*
4.多写一个For循环
5.答案直接出来

第九题:C语言用*号输出图案=>时空沙漏

图形:

  
*****
 ***
  *
 ***
*****

代码:

#include "Stdio.h" 
main(){
	int i,j,k;
	for(i=3;i>1;i--) {
		for(k=3-i;k>0;k--)
			printf(" ");
		for(j=1;j<=i*2-1;j++){
			printf("*");
		}
		printf("\n");
	}
	for(i=1;i<=3;i++) {
		for(k=3-i;k>0;k--)
			printf(" ");
		for(j=1;j<=i*2-1;j++){
			printf("*");
		}
		printf("\n");
	}		
}   

思路:

1.外层循环控制行数
2.内层循环控制空格和*
3.多写一个For循环
4.答案直接出来

第十题:C语言用九九乘法表

图形:

1*1=1
1*1=1 1*2=2
...

代码:

#include "Stdio.h" 
main(){
	int j,k;
	for(k=1;k<10;k++){
		for(j=1;j<=k;j++)
		printf("%d * %d = %d\t",j,k,k*j);
	printf("\n");
	}	
}   

思路:

1.外层循环控制行数
2.内层循环控制数字
3.答案直接出来

第十一题:C语言输出国际象棋棋盘

图形:

  白黑白黑白黑
  黑白黑白黑白

代码:

#include <stdio.h>
main() {
	int i,j;
  for ( i = 0; i < 8; i++) {
    for ( j = 0; j < 8; j++) {
      if ((i + j) % 2 == 0) {
        printf(" ");
      } else {
        printf("#");
      }
    }
    printf("\n");
  }
}

思路:

1.外层循环控制棋盘的宽
2.内层循环控制棋盘的高
3.加起来的和取模2等于0这输出一个#号
4.答案直接出来

第十二题:打印楼梯,同时在楼梯上方打印两个笑脸。

图形:

这个不好画出来,运行一下代码

代码:

#include <stdio.h>
main() {
  int i,j;
  printf("  ^_^  ^_^  \n"); 
  for ( i = 1; i <= 5; i++) {
    for ( j = 1; j <= i; j++) {
      printf("*");
    }
    printf("\n");
  }
}

思路:

1.外层循环控制行数
2.内层循环控制楼梯的*号数量
3.答案直接出来

持续更新中…

经典结尾

烛光照亮了晚餐,照不出个答案;恋爱不是温馨的请客吃饭.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/924052.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

qsort函数详解+代码展示

文章目录 概要系列文章目录前言(1) 定义(2) 使用&#xff08;举例子 上代码&#xff09;1、定义数组&#xff1a;2、定义比较函数&#xff1a;3、调用 qsort&#xff1a;4、输出结果&#xff1a; (3) 注意事项 小结 概要 本篇博客将详细地介绍qsort排序函数&#xff0c;&#x…

CSS之3D转换

三维坐标系 三维坐标系其实就是指立体空间&#xff0c;立体空间是由3个轴共同组成的。 x轴:水平向右注意:x右边是正值&#xff0c;左边是负值 y轴:垂直向下注意:y下面是正值&#xff0c;上面是负值 z轴:垂直屏幕注意:往外面是正值&#xff0c;往里面是负值 3D移动 translat…

2024年nvm保姆级安装教程

需求&#xff1a;当前我的nodejs的版本是6.14.10&#xff0c;想切换为更高的版本。故使用nvm工具来实现不同node版本之间的切换 目录 一、删除node二、nvm安装三、配置nvm镜像四、安装所需要的nodejs版本nvm常用命令 一、删除node 第一步&#xff1a;首先在控制面板删除node.j…

Python编程语言中的优雅艺术:数值分隔符的巧妙运用

在Python编程的世界里&#xff0c;有许多精巧的设计让代码更优雅、更易读。今天要分享的是一个看似简单却能大幅提升代码可读性的特性 —— 数值分隔符。这个特性从Python 3.6版本开始引入&#xff0c;它用一种极其优雅的方式解决了大数值表示的难题。 数值分隔符的本质与应用…

JS-06-事件监听

事件监听 当鼠标进行操作的时候能够对网页页面进行操作。 事件绑定 常见事件 onload: 当某个页面或者元素加载完成之后执行指定的代码块 onclick:鼠标单机的时候就执行指定的代码块 onblur\onfocus:鼠标点击的时候光标在的地方就是获得焦点否则失去焦点 onkeydown:绑定键盘…

Adaboost集成学习 | Python实现基于NuSVR-Adaboost多输入单输出回归预测

目录 效果一览基本介绍程序设计参考资料效果一览 基本介绍 基于NuSVR-Adaboost多输入单输出回归预测python代码 NuSVR是一种支持向量回归(SVR)算法的变体,用于解决回归问题。SVR是一种监督学习方法,它用于预测连续目标变量,而不是分类标签。NuSVR在SVR的基础上引入了一个…

数据结构C语言描述5(图文结合)--队列,数组、链式、优先队列的实现

前言 这个专栏将会用纯C实现常用的数据结构和简单的算法&#xff1b;有C基础即可跟着学习&#xff0c;代码均可运行&#xff1b;准备考研的也可跟着写&#xff0c;个人感觉&#xff0c;如果时间充裕&#xff0c;手写一遍比看书、刷题管用很多&#xff0c;这也是本人采用纯C语言…

ADS9-V2EBZ 评估板

ADS9-V2EBZ 评估板 概览 优势和特点 Xilinx Kintex Ultrascale XCKU15P-2FFVE1517E FPGA。 1 个 FMC 连接器。 20 个 28 Gbps 收发器&#xff0c;由一 (1) 个 FMC 连接器提供支持 HMC DRAM 简单 USB 3.0 端口接口。 随附两张微型 SD 卡&#xff0c;“TRX”用于 ADRV9026 评估…

深入探讨 Redis 持久化机制:原理、配置与优化策略

文章目录 一、引言二、Redis持久化概述三、RDB&#xff08;Redis DataBase&#xff09;持久化1、RDB概念与工作原理2、RDB的配置选项3、RDB优化配置项4、RDB的优势与劣势 三、AOF&#xff08;Append-Only File&#xff09;持久化1、AOF概念与工作原理2、AOF的三种写回策略3、Re…

【回文数组——另类递推】

题目 代码 #include <bits/stdc.h> using namespace std; using ll long long; const int N 1e510; int a[N], b[N]; int main() {int n;cin >> n;for(int i 1; i < n; i)cin >> a[i];for(int i 1; i < n / 2; i)b[i] a[i] - a[n1-i];ll ans 0;…

scala统计词频

package test23import java.io.PrintWriter import scala.io.Source object test {def main(args: Array[String]): Unit {//从文件1.txt中&#xff0c;读取内容val content Source.fromFile("1.txt").mkStringprintln(content)//把字符串中的每个单词&#xff0c;…

数据结构——排序算法第二幕(交换排序:冒泡排序、快速排序(三种版本) 归并排序:归并排序(分治))超详细!!!!

文章目录 前言一、交换排序1.1 冒泡排序1.2 快速排序1.2.1 hoare版本 快排1.2.2 挖坑法 快排1.2.3 lomuto前后指针 快排 二、归并排序总结 前言 继上篇学习了排序的前面两个部分:直接插入排序和选择排序 今天我们来学习排序中常用的交换排序以及非常稳定的归并排序 快排可是有多…

Android基本概念及控件

Android是Google公司基于Linux平台开发的主要应用于智能手机及平板电脑的操作系统。 ART模式与Dalvik模式最大的不同在于:在启用ART模式后&#xff0c;系统在安装应用程序的时候会进行一次预编译&#xff0c;并先将代码转换为机器语言存储在本地,这样在运行程序时就不会每次都…

【JavaEE初阶 — 网络编程】Socket 套接字 & UDP数据报套接字编程

1. Socket套接字 1.1 概念 Socket 套接字&#xff0c;是由系统提供用于网络通信的技术&#xff0c;是基于TCP / IP协议的网络通信的基本操作单元。基于 Socket 套接字的网络程序开发就是网络编程。 1.2 分类 Socket套接字主要针对传输层协议划分为如下三类&#x…

Leecode刷题C语言之交替组②

执行结果:通过 执行用时和内存消耗如下&#xff1a; 代码如下&#xff1a; int numberOfAlternatingGroups(int* colors, int colorsSize, int k) {int res 0, cnt 1;for (int i -k 2; i < colorsSize; i) {if (colors[(i colorsSize) % colorsSize] ! colors[(i - …

科技惊艳:RFID技术引领被装物联网信息化革新

被装物联网信息化监控系统是一项错综复杂却成效斐然的解决方案&#xff0c;它巧妙地将物联网技术的先进性与装设备资源管理的实际需求相融合&#xff0c;实现了对被装设备资源的即时追踪、智能化调控以及资源的最优化配置。以下是对被装物联网的深度剖析与高端解读&#xff1a;…

360推出全新的生成式 AI 搜索产品:纳米搜索,要重塑搜索产品

【大力财经】直击互联网最前线&#xff1a;360 集团在 2024 年 11 月 27 日开发布会&#xff0c;重磅推出了一款全新的生成式 AI 搜索产品——纳米搜索&#xff0c;并且已经上架到苹果 App Store 以及应用宝等安卓应用商店&#xff0c;直接与百度、阿里夸克、秘塔 AI、Perplexi…

Android Deep Links 深度链接解析

在实现 Android 应用链接之前&#xff0c;请务必了解您可以在 Android 应用中创建的不同类型的链接&#xff1a;深层链接、网页链接和 Android 应用链接。 Android Deep Links 深度链接解析 一、什么是Deep Links&#xff1f;二、Deep Links的优势三、Deep Links的实现方式1. …

setter方法注入(Java EE 学习笔记07)

属性setter方法注入是Spring最主流的注入方法&#xff0c;这种注入方法简单、直观&#xff0c;它是在被注入的类中声明一个setter方法&#xff0c;通过setter方法的参数注入对应的值。 案例&#xff1a; ① 创建User2实体&#xff0c;配置setter方法 package com.lq.entities…

英语知识网站:Spring Boot技术构建

6系统测试 6.1概念和意义 测试的定义&#xff1a;程序测试是为了发现错误而执行程序的过程。测试(Testing)的任务与目的可以描述为&#xff1a; 目的&#xff1a;发现程序的错误&#xff1b; 任务&#xff1a;通过在计算机上执行程序&#xff0c;暴露程序中潜在的错误。 另一个…