- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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)