目录
前言:
一.刷题(2)
1.1判断是元音还是辅音
1.2牛牛的判断题
1.3判断闰年
1.4判断字母
1.5四季
1.6健康评估
1.7牛牛的二三七整除
1.8统计数据正负个数
二.刷题(2)
2.1牛牛的快递
2.2计算商品打折结算金额
2.3牛牛的通勤
2.4牛牛的金币
2.5牛牛的一周
2.6HTTP状态码
2.7计算单位阶跃函数
2.8牛牛的计划
博文结构:开头是本文涉及的题目;
牛客网链接;题目截图;【不太懂的会加百度词条】;
解题思路;代码通过截图;代码实现;该题收获总结;
以上就是本刷题专栏的结构---旨在尽快提升编程能力设置的例行格式!
今日份题目有:判断是元音还是辅音、牛牛的判断题、判断闰年、判断字母、四季、健康评估、牛牛的二三七整除、统计数据正负个数、牛牛的快递、计算商品打折结算金额、牛牛的通勤、牛牛的金币、牛牛的一周、HTTP状态码、计算单位阶跃函数、牛牛的计划。
牛客网链接:OJ链接
#include
int main() {
char ch = 0;
while(~scanf(" %c", &ch))
{
//ch如果是元音字母(不分大小写)里的任意一个都输出Vowel
if(ch == 'A' || ch == 'E' || ch == 'I' || ch == 'O'|| ch == 'U' ||
ch == 'a' || ch == 'e' || ch == 'i' || ch == 'o' || ch == 'u')
{
printf("Vowel\n");
}
else
{
printf("Consonant\n");
}
}
return 0;
}
收获总结:if语句条件大胆写,不要害怕因为条件多就不敢写;||是或者的作用,如果或者条件符合一个,表达式为真;锻炼代码能力;
牛客网链接:OJ链接
#include
int main() {
int a, b, c;
scanf("%d %d %d", &a, &b, &c);
if(a >= b && a <= c)
{
printf("true\n");
}
else
{
printf("false\n");
}
return 0;
}
收获总结:&&在计算机中是并且的作用,条件同时成立才为真;锻炼代码能力;
牛客网链接:OJ链接
解题思路:判断闰年有两种方法:如果年份能被4整除并且不能被100整除的是闰年;如果年份能被400整除是闰年;
#include
int main() {
int year = 0;
scanf("%d", &year);
if((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0))
{
printf("yes\n");
}
else
{
printf("no\n");
}
return 0;
}
收获总结:熟练搭配使用&&和||;掌握判断闰年的方法;锻炼代码能力;
牛客网链接:OJ链接
解题思路:在头文件
#include
#include
int main() {
char ch = 0;
scanf("%c", &ch);
//isalpha---是字母吗?
if(isalpha(ch))
{
printf("YES\n");
}
else
{
printf("NO\n");
}
return 0;
}
收获总结:
牛客网链接:OJ链接
解题思路:取出最后两位数,按权重加到一个变量里表示月份,然后根据这个变量的值选择输入相应的季节。
#include
#include
int main() {
int n = 0;
scanf("%d", &n);
int i = 0;
int sum = 0;
//除法、取模取出最后两位,乘上相应的权重
//赋值到变量里表示月份
while(i<2)
{
sum += n % 10 * pow(10, i);
n /= 10;
i++;
}
//根据变量里的月份输出对应的季节
switch(sum)
{
case 12:
case 1:
case 2:
printf("winter\n");
break;
case 3:
case 4:
case 5:
printf("spring\n");
break;
case 6:
case 7:
case 8:
printf("summer\n");
break;
case 9:
case 10:
case 11:
printf("autumn\n");
break;
}
return 0;
}
收获总结:更熟悉取模配合取模给数值剥离数字,以及乘上相应的权重赋值给变量;锻炼代码能力;
牛客网链接:OJ链接
#include
#include
int main() {
double weight, height;
scanf("%lf %lf", &weight, &height);
double BMI = weight/pow(height, 2);
if(BMI >= 18.5 && BMI <= 23.9)
{
printf("Normal\n");
}
else
{
printf("Abnormal\n");
}
return 0;
}
收获总结:变量的数据类型如果不一,一个可以使用int、一个可以使用float的话,我们一律使用精度高的,这样不会有类型的不兼容的警告;锻炼代码能力;
牛客网链接:OJ链接
解题思路:输入一个数字,让这个数字分别被2、3、7这三个数字试除,如果有被整除的情况,那就不可能输出n;安排除的时候,我们按顺序让它被试除,这样自然就是有序的了。
#include
int main() {
int a = 0;
scanf("%d", &a);
int i = 0;
//定义一个标签,如果最后还是0,则最后输出n
//如果有被整除的情况,将被改成1,最后不符合条件,不输出n
int flag = 0;
//三次循环,第一次让2试除,依次类推
for(i = 0;i < 3; i++)
{
if(i == 0)
{
if(a % 2 == 0)
{
printf("2 ");
flag = 1;
}
}
if(i == 1)
{
if(a % 3 == 0)
{
printf("3 ");
flag = 1;
}
}
if(i == 2)
{
if(a % 7 == 0)
{
printf("7 ");
flag = 1;
}
}
}
//判断有没有被整除过
if(flag == 0)
{
printf("n\n");
}
return 0;
}
收获总结:定义一个标签,如果符合一种情况,则把这个标志给修改掉,以便符合逻辑;一个循环里可以控制顺序;锻炼代码能力;
牛客网链接:OJ链接
#include
int main() {
int i = 0;//控制循环
int n = 0;//奇数个数计数
int p = 0;//偶数个数计数
int k = 0;//接收数值
for(i = 0; i < 10; i++)
{
scanf("%d", &k);
if(k > 0)
{
p++;
}
else
{
n++;
}
}
printf("positive:%d\n", p);
printf("negative:%d\n", n);
return 0;
}
收获总结:连续输入,有些情况是不需要存储起来的,输入一个判断一个,然后循环重新输入;锻炼代码能力;
牛客网链接:OJ链接
解题思路:输入一个重量,一个字符代表加不加急。首先判断这个字符的情况,创建一个变量,初始化为0,如果字符为y,把变量值赋值成5;小于且包括1kg的是20块,然后不管多出多少,都算1块;在大于1kg里分两种中情况,如果恰好是整数,那么就需要少算一次,比如6kg,实际上多出5kg,最开始的1kg属于20的起步价;如果不是整数,那么就是相应的次数,因为多余的小数需要多算一次,抵消掉了最开始需要减掉1kg的那一次。比如6.6,去掉第一kg,还有5.6需要六次。
#include
int main() {
float weight = 0.0f;
char ch = 0;
int x = 0;
scanf("%f %c", &weight, &ch);
//如果为等于y,把x赋值成5,后面加上
if(ch == 'y')
{
x = 5;
}
//如果是小于1,那么就是直接加上20
if(weight < 1)
{
printf("%d\n", 20+x);
}
//等于大于1的情况
else
{
//计算重量里有多少个1
int tmp = (int)weight/1;
//如果是整数,减掉一次,这一次是属于起步价的20
if(tmp == weight)
{
printf("%d\n", (20+(tmp-1)*1+x));
}
//不为整数,则抵消
else
{
printf("%d\n", (int)(20+(tmp)*1+x));
}
}
return 0;
}
收获总结:更熟练理解标志的使用;提升理解题目的意思;锻炼代码能力;
牛客网链接:OJ链接
#include
#include
using namespace std;
int main() {
int n = 0;
cin>>n;
if(n >= 100 && n < 500)
{
cout<= 500 && n < 2000)
{
cout<= 2000 && n < 5000)
{
cout<
收获总结:临界的选择条件理解;锻炼代码能力;
牛客网链接:OJ链接
解题思路:由于等车需要10,所以步行可以先走10米远,当车到了之后,坐车1秒,可以走10米,此时牛牛选择是步行的话,已经总共走了11米,再往后1秒内,打车走的距离就比步行还要远了,所以临界在11米这个点上。
#include
int main() {
int dt = 0;
scanf("%d", &dt);
int stop = 10;
if(dt <= 11)
{
printf("w");
}
else
{
printf("v");
}
return 0;
}
收获总结:提升分析思考的速度;锻炼代码能力;
牛客网链接:OJ链接
解题思路:这道题保证金币在牛牛的“十字架”方位上,所以我们只需要让金币的横坐标减去牛牛的横坐标,金币的纵坐标减去牛牛的纵坐标,分情况打印就可以完成。
#include
int main() {
int x, y;
int x1, y1;
scanf("%d %d", &x, &y);
scanf("%d %d", &x1, &y1);
int n = x1 - x;
int m = y1 - y;
if(n == 0 && m == 1)
{
printf("u");
}
else if(n == 0 && m == -1)
{
printf("d");
}
else if(n == 1 && m == 0)
{
printf("r");
}
else
{
printf("l");
}
return 0;
}
收获总结:理解题目的意思;锻炼代码能力;
牛客网链接:OJ链接
#include
int main() {
int day = 0;
scanf("%d", &day);
switch(day)
{
case 1:
printf("Monday\n");
break;
case 2:
printf("Tuesday\n");
break;
case 3:
printf("Wednesday\n");
break;
case 4:
printf("Thursday\n");
break;
case 5:
printf("Friday\n");
break;
case 6:
printf("Saturday\n");
break;
case 7:
printf("Sunday\n");
break;
}
return 0;
}
总结收获:switch的多分支使用;锻炼代码能力;
牛客网链接:OJ链接
#include
int main() {
int n = 0;
while(scanf("%d", &n) != EOF)
{
if(n == 200)
{
printf("OK\n");
}
else if(n == 202)
{
printf("Accepted\n");
}
else if(n == 400)
{
printf("Bad Request\n");
}
else if(n == 403)
{
printf("Forbidden\n");
}
else if(n == 404)
{
printf("Not Found\n");
}
else if(n == 500)
{
printf("Internal Server Error\n");
}
else if(n == 502)
{
printf("Bad Gateway\n");
}
}
return 0;
}
收获总结:HTTP状态码的种类的了解;锻炼代码能力;
牛客网链接:OJ链接
#include
int main() {
int n = 0;
while(~scanf("%d", &n))
{
if(n > 0)
{
printf("%d\n", 1);
}
else if(n == 0)
{
printf("%.1f\n", 1.0/2);
}
else
{
printf("%d\n", 0);
}
}
return 0;
}
收获总结:执行小数除法的时候,操作数必须要有一个浮点数,控制小数点的位数格式;锻炼代码能力;
牛客网链接:OJ链接
解题思路:计划时间之前不学习,计划时间之后学习,那么如果年份大于计划的年份,那一定开始学习了;如果年份相同,月份大于计划的月份,那也一定开始学习了;如果年份月份相同,天数大于计划的月份,那一定开始了;注意一点的是,当天也是可以学习的,所以第三种情况包括当天。
#include
int main() {
int y, m, d;
int y1, m1, d1;
scanf("%d %d %d", &y, &m, &d);
scanf("%d %d %d", &y1, &m1, &d1);
if(y < y1 || (y == y1 && m < m1) || (y == y1 && m == m1 && d <= d1))
{
printf("yes");
}
else
{
printf("no");
}
return 0;
}
总结收获:锻炼思维和代码能力;
今日的练习就到这里,明天再见啦!
训言:
保证理解的前提下,保证质量的前提下,多刷题,最后总结!!!!