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

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到10000for (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.答案直接出来

持续更新中…

经典结尾

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


http://www.mrgr.cn/news/78288.html

相关文章:

  • 临床检验项目指标学习笔记
  • 【Python 3.13】新特性解读,重大改进建议升级:JIT编译、免GIL,REPL、错误处理、类型系统等多个方面
  • php CURL请求502
  • uniapp介入极光推送教程 超级详细
  • 机器视觉Halcon技术文档:一次难忘的Bug经历与启示
  • 【大数据学习 | Spark-Core】Spark的改变分区的算子
  • WonderJourney 学习笔记
  • Qt获取文件夹下的文件个数(过滤和不过滤的区别)
  • 第 4 章 Java 并发包中原子操作类原理剖析
  • 【Jenkins】docker 部署 Jenkins 踩坑笔记
  • 类和对象--中--初始化列表(重要)、隐式类型转化(理解)、最后两个默认成员函数
  • Android 布局菜单或按钮图标或Menu/Item设置可见和不可见
  • 《Vue 初印象:快速上手 Vue 基础语法》
  • PostgreSQL详细安装教程
  • 基于SpringBoot共享汽车管理系统【附源码】
  • Docker容器运行CentOS镜像,执行yum命令提示“Failed to set locale, defaulting to C.UTF-8”
  • linuxCNC(三)ini配置文件说明
  • 利用编程思维做题之最小堆选出最大的前10个整数
  • 网络基础二
  • 数据结构代码合集
  • 【cocos creator】下拉框
  • 16_嵌入式开发编译不同Linux平台的依赖库
  • 数据结构_图的应用
  • Qt中2D绘制系统
  • 达梦数据库V8报错insert语句内容超长,解决
  • 哈希C++