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

#C语言——刷题攻略:牛客编程入门训练(七):分支控制(一)-- 涉及 %c前加空格:忽略起首的空白字符

🌟菜鸟主页:@晨非辰的主页

👀学习专栏:《C语言刷题合集》

💪学习阶段:C语言方向初学者

名言欣赏:"代码行数决定你的下限,算法思维决定你的上限。"


目录

1. kiki算数

2. 及格分数

3. 判断整数奇偶性

4. BC53 判断是元音还是辅音(特殊--%c前加空格:忽略起首的空白字符)

5. 牛牛的判断题

6. 判断字母

7. BC57 四季


前言:在学习编程语言的同时,千万别忘了刷刷题来巩固一下学到的知识,对于牛客网_编程入门系列,小子会持续更新分享刷题过程,其中包括一些基础板块的题目,本次将呈现的分支控制章节还有一道剩余的运算章节,共7道题。题目较简单,大家开开胃~~

~~注意部分标题括号内代表对题目涉及到的知识进行说明!

1. kiki算数

题目链接:牛客网_BC49 kiki算数_简单

int main()
{int a, b = 0;scanf("%d %d", &a, &b);int sum = a + b;if (sum > 100){int count = 2;//记录循环次数int last_num = 0;int new_num = 0;//初始个位数位置int position = 1;//循环取得数值后两位while (count){last_num = sum % 10;//末位数值new_num += (last_num * position);//进行数值重组position *= 10;sum /= 10;count--;//循环两次}printf("%d\n", new_num);}elseprintf("%d\n", sum);return 0;
}

解题思路——

--本题答题思路与上一篇刷题博客的第4题类似,只需要解决获得后两位数再乘以相应位数即可。

--博客跳转链接:小乐乐改数字


--下面开始进行分支控制的题目,题目比较基础

2. 及格分数

题目链接:牛客网_BC51 及格分数_简单

int main() 
{int score = 0;while(scanf("%d", &score) == 1){if(score >= 60)printf("Pass\n");elseprintf("Fail\n");}return 0;
}

解题思路——

--本题将分数分为两种情况:分数在60及以上成绩合格,以下成绩不合格,使用分支语句,思路简单,小子嘴遁~~


3. 判断整数奇偶性

题目链接:牛客网_BC52 判断整数奇偶性_入门

int main() 
{int a;while(scanf("%d", &a) == 1){if(a % 2 ==  0)printf("Even\n");elseprintf("Odd\n");}return 0;
}

解题思路——

--本题将分数分为两种情况:数值 % 2,等于0为偶数,不等于0为奇数,思路简单,小子嘴遁~~


4. BC53 判断是元音还是辅音(特殊--%c前加空格:忽略起首的空白字符)

题目链接:牛客网_BC53 判断是元音还是辅音-简单

#include <string.h>
int main() 
{char word = 0;char str[] = "AaEeIiOoUu";int i = 0;int sz = strlen(str);while (scanf(" %c", &word) == 1) //注意%c前有空格{for(i = 0; i < sz; i++){if(word == str[i]){printf("Vowel\n");break;   }}if(i == sz){printf("Consonant\n");}}return 0;
}

解题思路——

--本题要注意的一点是,由于输入格式的要求:输入完一个字符后换行再进行输入,因为%c占位符的特殊性,必须在前面加上一个空格才会自动忽略起首的空白字符(空格 制表符 换行符),其它占位符倒是不用。


5. 牛牛的判断题

题目链接:牛客网_BC54 牛牛的判断题_入门

int main() 
{int x, l, r;while (scanf("%d %d %d", &x, &l, &r) != EOF) { if((x >= l ) && (x <= r)){printf("true");}else {printf("false");}}return 0;
}

解题思路——

--本题的关键点就是条件的判断,注意不能直接写  l =< x <= r ,需要利用逻辑与操作符 && 进行判断。


6. 判断字母

题目链接:牛客网_BC56 判断字母_简单

int main() {char word;scanf("%c", &word);if((word >= 'A' && word <= 'Z') || (word >= 'a' && word <= 'z')){printf("YES\n");}else {printf("NO\n");}return 0;
}

解题思路——

--本题主要是考虑字母的范围,包括大小写,并且字符之间的比较确实是基于它们的ASCII码值进行的。


7. BC57 四季

题目链接:牛客网_BC57 四季_简单

--第一种方式:使用scanf格式修饰符--域宽 截取所需数据

int main() 
{int year = 0;int month = 0;scanf("%4d%2d", &year, &month);if(month >= 3 && month <= 5){printf("spring\n");}else if(month >= 6 && month <= 8){printf("summer\n");}else if(month >= 9 && month <= 11){printf("autumn\n");}else {{printf("winter\n");}}return 0;
}

--第二种方式:直接获取后两位数值

int main() 
{int num = 0;scanf("%d", &num);int month = num % 100;if(month >= 3 && month <= 5){printf("spring\n");}else if(month >= 6 && month <= 8){printf("summer\n");}else if(month >= 9 && month <= 11){printf("autumn\n");}else {{printf("winter\n");}}return 0;
}

相关刷题系列回顾 :

#C语言——刷题攻略:牛客编程入门训练(五):运算(二)-- 涉及 海伦公式、sqrt函数求三角形面积

#C语言——刷题攻略:牛客编程入门训练(六):运算(三)-- 涉及 辗转相除法求最大公约数

结语:本篇文章就到此结束了,本文主要是练习有关分支控制的题目,后续的题目练习难度会慢慢上来,但总体来说不会太难,喜欢的朋友们,一起来学习吧!欢迎三连~ 

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

相关文章:

  • Spring Boot Starter 自动化配置原理深度剖析
  • 把大模型“关进冰箱”——基于知识蒸馏 + 动态量化的小型化实战笔记
  • 推客系统开发全攻略:从架构设计到高并发实战
  • 【Python 高频 API 速学 ②】
  • 让大模型 “睡觉”:把版本迭代当作人类睡眠来设计(附可直接改造的训练作息表与代码)
  • 【Task2】【Datawhale AI夏令营】多模态RAG
  • Python基础教程(四)字符串和编码:深度探索Python字符串与编码的终极指南
  • Milvus 向量数据库基础操作解析
  • Node.js特训专栏-实战进阶:22. Docker容器化部署
  • 模板方法模式:优雅封装算法骨架
  • 代码随想录day60图论10
  • flex布局初体验
  • Kettle ETL 工具存在的问题以及替代方案的探索
  • [激光原理与应用-193]:光学器件 - CLBO晶体:生长过程、工作原理、内部结构、性能指标、关键影响因素
  • MySQL 主备(Master-Slave)复制 的搭建
  • 使用 Vuepress + GitHub Pages 搭建项目文档(2)- 使用 GitHub Actions 工作流自动部署
  • Linux 信号处理标志sa_flags详解
  • visual studio 无明显错误,但是无法编译成功解决—仙盟创梦IDE
  • [IOMMU]面向芯片/SoC验证工程的IOMMU全景速览
  • GoEnhance AI-AI视频风格转换工具
  • 【LLM实战|langgraph】langgrpah基础
  • Zabbix API自动化运维实战
  • dnSpy:设置断点
  • 【Python 工具人快餐 · 第 1 份】
  • 小米MiMo-VL技术报告解读
  • Docker容器
  • 【网络与爬虫 51】Scrapy-Cluster分布式爬虫集群:企业级大规模数据采集解决方案
  • 浅谈 VM 桥接模式:让虚拟机像真实电脑一样接入网络
  • openvela之STM32开发板部署
  • BMS三大领域:电池、楼宇与业务管理系统解析