🌟菜鸟主页:@晨非辰的主页
👀学习专栏:《C语言刷题合集》
💪学习阶段:C语言方向初学者
⏳名言欣赏:"代码行数决定你的下限,算法思维决定你的上限。"
目录
4. BC53 判断是元音还是辅音(特殊--%c前加空格:忽略起首的空白字符)
前言:在学习编程语言的同时,千万别忘了刷刷题来巩固一下学到的知识,对于牛客网_编程入门系列,小子会持续更新分享刷题过程,其中包括一些基础板块的题目,本次将呈现的分支控制章节还有一道剩余的运算章节,共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);
}
else
printf("%d\n", sum);
return 0;
}
解题思路——
--本题答题思路与上一篇刷题博客的第4题类似,只需要解决获得后两位数再乘以相应位数即可。
--博客跳转链接:小乐乐改数字
--下面开始进行分支控制的题目,题目比较基础
2. 及格分数
题目链接:牛客网_BC51 及格分数_简单
int main()
{
int score = 0;
while(scanf("%d", &score) == 1)
{
if(score >= 60)
printf("Pass\n");
else
printf("Fail\n");
}
return 0;
}
解题思路——
--本题将分数分为两种情况:分数在60及以上成绩合格,以下成绩不合格,使用分支语句,思路简单,小子嘴遁~~
3. 判断整数奇偶性
题目链接:牛客网_BC52 判断整数奇偶性_入门
int main()
{
int a;
while(scanf("%d", &a) == 1)
{
if(a % 2 == 0)
printf("Even\n");
else
printf("Odd\n");
}
return 0;
}
解题思路——
--本题将分数分为两种情况:数值 % 2,等于0为偶数,不等于0为奇数,思路简单,小子嘴遁~~
4. BC53 判断是元音还是辅音(特殊--%c前加空格:忽略起首的空白字符)
#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语言——刷题攻略:牛客编程入门训练(六):运算(三)-- 涉及 辗转相除法求最大公约数
结语:本篇文章就到此结束了,本文主要是练习有关分支控制的题目,后续的题目练习难度会慢慢上来,但总体来说不会太难,喜欢的朋友们,一起来学习吧!欢迎三连~