蓝桥杯C语言模拟试题及答案.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

蓝桥杯C语言模拟试题及答案

试题1:计算圆的面积(基础输入输出与运算)

题干

输入圆的半径,计算并输出圆的面积(π取值3.14159,结果保留2位小数)。

输入

一个浮点数(如3.5),表示圆的半径。

输出

圆的面积(格式示例:Area=12.57)。

解题思路

定义双精度变量存储半径和面积,确保精度;

用公式面积=π×半径2计算;

通过printf的%.2f控制输出保留2位小数。

参考代码

#includestdio.h

#definePI3.14159//宏定义π,方便修改和复用

intmain(){

doubleradius,area;

//输入半径(%lf对应double类型)

scanf(%lf,radius);

//计算面积

area=PI*radius*radius;

//输出结果,保留2位小数

printf(Area=%.2f\n,area);

return0;

}

代码解释

#definePI3.14159:用宏定义固定π值,比变量更节省内存,且修改时只需改一处;

%lf:输入双精度数的格式符,若用%f可能导致输入错误;

%.2f:输出时自动四舍五入,符合题目对精度的要求。

试题2:找数组最大值及下标(数组遍历)

题干

给定一个包含10个整数的数组,找出数组中的最大值,并输出最大值及其对应的下标(若有多个最大值,取第一个出现的下标)。

输入

10个整数(用空格分隔,如582103107496)。

输出

最大值和下标(格式示例:Max=10,Index=3)。

解题思路

定义数组存储10个整数,用循环或直接赋值接收输入;

初始化max_val为数组第一个元素,max_idx为0(对应第一个元素下标);

遍历数组(从下标1开始),若当前元素大于max_val,则更新max_val和max_idx;

输出结果。

参考代码

#includestdio.h

intmain(){

intarr[10];

inti,max_val,max_idx;

//输入10个整数到数组

for(i=0;i10;i++){

scanf(%d,arr[i]);

}

//初始化最大值和下标(从第一个元素开始)

max_val=arr[0];

max_idx=0;

//遍历数组其余元素(从下标1开始)

for(i=1;i10;i++){

if(arr[i]max_val){

max_val=arr[i];

max_idx=i;

}

}

//输出结果

printf(Max=%d,Index=%d\n,max_val,max_idx);

return0;

}

代码解释

数组遍历从下标1开始:避免重复比较第一个元素(已初始化给max_val),提高效率;

若有多个最大值:因只在“当前元素大于max_val”时更新,故自动保留第一个最大值的下标。

试题3:统计字符串中字符类型(字符串处理)

题干

输入一个字符串(长度不超过100),统计其中大写字母(A-Z)、小写字母(a-z)、数字(0-9)的个数,忽略其他字符(如空格、符号)。

输入

一个字符串(如Hello2024!BlueBridge)。

输出

三类字符的个数(格式示例:Upper=2,Lower=12,Digit=4)。

解题思路

定义字符数组存储字符串,定义3个计数器分别统计三类字符;

遍历字符串(直到遇到结束符\0);

用ASCII码判断字符类型:

大写字母:ch=Ach=Z(ASCII65-90);

小写字母:ch=ach=z(ASCII97-122);

数字:ch=0ch=9(ASCII48-57);

符合条件则对应计数器加1,最后输出结果。

参考代码

#includestdio.h

intmain(){

charstr[101];//留1个位置存字符串结束符\0

intupper=0,lower=0,digit=0;

inti=0;

//输入字符串(%s自动忽略空格,若需包含空格用gets(),但gets()不安全,此处用scanf(

文档评论(0)

151****9429 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档