12.6每日一题(备战蓝桥杯程序的控制结构)

2023-12-14 00:21:05

12.6每日一题(备战蓝桥杯程序的控制结构)

题目 1638: 【入门】判断正负数或零

题目描述

输入一个整数,判断它是正数、负数或零。

输入输出要求:

输入的数是正数时,输出该数>0
输入的数是负数时,输出该数<0
输入的数是0时,输出 0=0

样例输入1
5
样例输出1
5>0

样例输入2
-7
样例输出1
-7<0

样例输入3
0
样例输出3
0=0

输入

一个整数n

输出

按题目要求输出判断结果

样例输入
6
样例输出
6>0
来源/分类

[分支问题]

题解 1638: 【入门】判断正负数或零

#include<iostream>
#include<cstdio>
using namespace std;
int n;
int main()
{
	scanf("%d",&n);
	if(n > 0){
		printf("%d>0",n);
	}else if(n == 0){
		printf("%d=0",n);
	}else{
		printf("%d<0",n);
	}
	return 0; 
} 

题目 1348: 【入门】求绝对值

题目描述

数学中有一个绝对值的概念,正数的绝对值是本身,负数的绝对值是它的相反数(相反数的概念,5的相反数数-5,-2的相反数是2),0的绝对值任然是0。请从键盘读入一个整数n(n可能是整数,也可能是负数),求出n的绝对值。(7.1)

输入

一个整数n,可能是正整数,也可能是负整数

输出

n的绝对值

样例输入
-5
样例输出
5
来源/分类

[分支问题]

题解 1348: 【入门】求绝对值

#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
int n;
int main()
{
	scanf("%d",&n);
	printf("%d",abs(n));
	return 0;
}

题目 1033: 【入门】判断奇偶数

题目描述

输入一个整数,判断是否为偶数。是输出"y e s",否则输出"n o"。

输入

输入只有一行,包括1个整数。

输出

输出只有一行。(注意输出格式,具体请看下方提示)

样例输入
2
样例输出
y e s
提示

要注意空格!!!!!!!!

来源/分类

[分支问题]

题解 1033: 【入门】判断奇偶数

#include<iostream>
#include<cstdio>
using namespace std;
int n;
int main()
{
	scanf("%d",&n);
	if(n % 2 == 0){
		printf("y e s");
	}else {
		printf("n o");
	}
	return 0;
}

题目 2152: 奇偶ASCII值判断

题目描述

任意输入一个字符,判断其ASCII是否是奇数,若是,输出YES,否则,输出NO。例如,字符A的ASCII值是65,则输出YES,若输入字符B(ASCII值是66),则输出NO。

输入

输入一个字符。

输出

如果其ASCII值为奇数,则输出YES,否则,输出NO。

样例输入
A
样例输出
YES
来源/分类

[信息学奥赛一本通] [if选择结构]

题解 2152: 奇偶ASCII值判断

#include<iostream>
#include<cstdio>
using namespace std;
char c;
int main()
{
	scanf("%c",&c);
	int x = (int)c;
	if(x % 2 == 1){
		puts("YES");
	}else{
		puts("NO");
	}
	return 0;
}

题目 1034: 【入门】两数比大小

题目描述

有A,B两个不相等的数,请将其中较大数打印出来。

输入

输入只有一行,包括2个整数。之间用一个空格分开。输出只有一行(这意味着末尾有一个回车符号),包括1个整数。

输出

输出只有一行(这意味着末尾有一个回车符号),包括1个整数。

样例输入
45 78
样例输出
78
来源/分类

[分支问题]

题解 1034: 【入门】两数比大小

#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
int a , b;
int main()
{
	scanf("%d %d",&a,&b);
	printf("%d",max(a,b));
	return 0;
}

题目 2153: 判断是否为两位数

题目描述

判断一个正整数是否是两位数(即大于等于10且小于等于99)。若该正整数是两位数,输出1,否则输出0。

输入

一个正整数,不超过1000。

输出

一行。若该正整数是两位数,输出1,否则输出0。

样例输入
54
样例输出
1
来源/分类

[信息学奥赛一本通] [if选择结构]

题解 2153: 判断是否为两位数

#include<iostream>
#include<cstdio>
using namespace std;
int n;
int main()
{
	scanf("%d",&n);
	if(n >= 10 && n <= 99){
		puts("1");
	}else {
		puts("0");
	}
	return 0;
}

题目 2154: 收集瓶盖赢大奖

题目描述

某饮料公司最近推出了一个“收集瓶盖赢大奖”的活动:如果你拥有10个印有“幸运”、或20个印有“鼓励”的瓶盖,就可以兑换一个神秘大奖。现分别给出你拥有的印有“幸运”和“鼓励”的瓶盖数,判断是否可以去兑换大奖。若可以兑换大奖,输出1,否则输出0。

输入

一行,包含两个整数,分别是印有“幸运”和“鼓励”的瓶盖数,用一个空格隔开。

输出

一行。若可以兑换大奖,输出1,否则输出0。

样例输入
11 19
样例输出
1
来源/分类

[信息学奥赛一本通] [if选择结构]

题解 2154: 收集瓶盖赢大奖

#include<iostream>
#include<cstdio>
using namespace std;
int a , b;
int main()
{
	scanf("%d %d",&a,&b);
	if(a >= 10 || b >= 20){
		puts("1");
	}else {
		puts("0");
	}
	return 0;
}

题目 2155: 判断一个数能否同时被3和5整除

题目描述

判断一个数n 能否同时被3和5整除,如果能同时被3和5整除输出YES,否则输出NO。

输入

输入一行,包含一个整数n。( -1,000,000 < n < 1,000,000)

输出

输出一行,如果能同时被3和5整除输出YES,否则输出NO。

样例输入
15
样例输出
YES
来源/分类

[信息学奥赛一本通] [if选择结构]

题解 2155: 判断一个数能否同时被3和5整除

#include<iostream>
#include<cstdio>
using namespace std;
int n; 
int main()
{
	scanf("%d",&n);
	if(n % 3 == 0 && n % 5 == 0){
		puts("YES");
	}else {
		puts("NO");
	}
	return 0;
}

题目 2156: 判断能否被3,5,7整除

题目描述

给定一个整数,判断它能否被3,5,7整除,并输出以下信息:
1、能同时被3,5,7整除(直接输出3 5 7,每个数中间一个空格);
2、只能被其中两个数整除(输出两个数,小的在前,大的在后。例如:3 5或者3 7或者5 7,中间用空格分隔);
3、只能被其中一个数整除(输出这个除数);
4、不能被任何数整除,输出小写字符‘n’,不包括单引号。

输入

输入一行,包括一个整数。

输出

输出一行,具体见题目描述

样例输入
105
样例输出
3 5 7
来源/分类

[信息学奥赛一本通][if选择结构]

题解 2156: 判断能否被3,5,7整除

#include<iostream>
#include<cstdio>
using namespace std;
int n;
int main()
{
	scanf("%d",&n);
	if(n % 3 == 0 && n % 5 == 0 && n % 7 == 0){
		printf("%d %d %d",3,5,7);
	}else if(n % 3 == 0 && n % 5 == 0 && n % 7 != 0){
		printf("%d %d",3,5);
	}else if(n % 3 == 0 && n % 5 != 0 && n % 7 == 0){
		printf("%d %d",3,7);
	}else if(n % 3 != 0 && n % 5 == 0 && n % 7 == 0){
		printf("%d %d",5,7);
	}else if(n % 3 == 0 && n % 5 != 0 && n % 7 != 0){
		printf("%d",3);
	}else if(n % 3 != 0 && n % 5 == 0 && n % 7 != 0){
		printf("%d",5);
	}else if(n % 3 != 0 && n % 5 != 0 && n % 7 == 0){
		printf("%d",7);
	}else{
		printf("%c",'n');
	}
	return 0;
} 

题目 2157: 有一门课不及格的学生

题目描述

给出一名学生的语文和数学成绩,判断他是否恰好有一门课不及格(成绩小于60分)。若该生恰好有一门课不及格,输出1;否则输出0。

输入

一行,包含两个在0到100之间的整数,分别是该生的语文成绩和数学成绩。

输出

若该生恰好有一门课不及格,输出1;否则输出0。

样例输入
50 80
样例输出
1
来源/分类

[信息学奥赛一本通] [if选择结构]

题解 2157: 有一门课不及格的学生

这里要考虑如果都是不及格怎么办

#include<iostream>
#include<cstdio>
using namespace std;
int a , b;
int main()
{
	scanf("%d %d",&a,&b);
	if(a < 60 && b < 60){
		puts("0");
	} else if(a < 60 || b < 60){
		puts("1");
	}else{
		puts("0");
	}
	return 0;
}

题目 2158: 晶晶赴约会

题目描述

晶晶的朋友贝贝约晶晶下周一起去看展览,但晶晶每周的1、3、5有课必须上课,请帮晶晶判断她能否接受贝贝的邀请,如果能输出YES;如果不能则输出NO。注意YES和NO都是大写字母!

输入

输入有一行,贝贝邀请晶晶去看展览的日期,用数字1到7表示从星期一到星期日。

输出

输出有一行,如果晶晶可以接受贝贝的邀请,输出YES,否则,输出NO。注意YES和NO都是大写字母!

样例输入
2
样例输出
YES
来源/分类

[信息学奥赛一本通] [switch语句]

题解 2158: 晶晶赴约会

#include<iostream>
#include<cstdio>
using namespace std;
int n;
int main()
{
	scanf("%d",&n);
	if(n == 1 || n == 3 || n == 5){
		puts("NO");
	}else{
		puts("YES");
	}
	return 0;
} 

题目 2159: 骑车与走路

题目描述

在清华校园里,没有自行车,上课办事会很不方便。但实际上。并非去办任何事情都是骑车快,因为骑车总要找车、开锁、停车、锁车等,这要耽误一些时间。假设找到自行车,开锁并骑上自行车的时间为27秒;停车锁车的时间为23秒;步行每秒走1.2米,骑车每秒行走3.0米。请判断走不同的距离去办事,是骑车快还是走路快。如果骑车快,输出一行"Bike";如果走路快,输出一行"Walk";如果一样快,输出一行"All"。

输入

输入一行,包含一个整数n,表示一次办事要行走的距离,单位为米。

输出

输出一行,如果骑车快,输出一行"Bike";如果走路快,输出一行"Walk";如果一样快,输出一行"All"。

样例输入
120
样例输出
Bike
提示

数据范围
1≤n≤200

来源/分类

[信息学奥赛一本通] [switch语句]

题解 2159: 骑车与走路

#include<iostream>
#include<cstdio>
using namespace std;
int n;
int main()
{
	scanf("%d",&n);
	double x = n / 1.2;
	double r = (n / 3.0) + 50;
	if(r < x){
		puts("Bike");
	}else if(r == x){
		puts("All");
	}else{
		puts("Walk");
	}
	return 0;
} 

题目 2160: 分段函数

题目描述

编写程序,计算下列分段函数y=f(x)的值。结果保留到小数点后三位。 img

输入

一个浮点数N(0 ≤ N < 20)。

输出

输出 N 对应的分段函数值:f(N)。结果保留到小数点后三位。

样例输入
1.0
样例输出
1.500
来源/分类

[信息学奥赛一本通] [switch语句]

题解 2160: 分段函数

#include<iostream>
#include<cstdio>
using namespace std;
double x;
int main()
{
	scanf("%lf",&x);
	if(x >= 0 && x < 5){
		printf("%.3lf",-x + 2.5);
	}else if(x >= 5 && x < 10){
		printf("%.3lf",2 - 1.5 * (x - 3) * (x - 3));
	}else{
		printf("%.3lf",x / 2 - 1.5);
	}
	return 0;
}

题目 2161: 计算邮资

题目描述

根据邮件的重量和用户是否选择加急计算邮费。计算规则:重量在1000克以内(包括1000克), 基本费8元。超过1000克的部分,每500克加收超重费4元,不足500克部分按500克计算;如果用户选择加急,多收5元。

输入

输入一行,包含整数和一个字符,以一个空格分开,分别表示重量(单位为克)和是否加急。如果字符是y,说明选择加急;如果字符是n,说明不加急。

输出

输出一行,包含一个整数,表示邮费。

样例输入
1200 y
样例输出
17
来源/分类

[信息学奥赛一本通] [switch语句]

题解 2161: 计算邮资

#include<iostream>
#include<cstdio>
using namespace std;
int a , sum;
char c;
int main()
{
	scanf("%d %c",&a,&c);
	if(c == 'y'){
		sum += 5;
		if(a <= 1000){
			printf("%d",8 + sum);
		}else{
			a -= 1000;
			int x = a / 500;
			if(a % 500 > 0){
				printf("%d",(8 + sum) + (x * 4) + 4);
			}
		}
	}else{
		if(a <= 1000){
			printf("%d",8);
		}else{
			a -= 1000;
			int x = a / 500;
			if(a % 500 > 0){
				printf("%d",(8 + sum) + (x * 4) + 4);
			}
		}
	}
	return 0;
}

题目 1039: 【入门】求三个数的最大数

题目描述

已知有三个不等的数,将其中的最大数找出来。

输入

输入只有一行,包括3个整数。之间用一个空格分开。

输出

输出只有一行(这意味着末尾有一个回车符号),包括1个整数。

样例输入
1 5 8
样例输出
8
来源/分类

[分支问题]

题解 1039: 【入门】求三个数的最大数

#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
int a , b , c;
int main()
{
	scanf("%d %d %d",&a,&b,&c);
	printf("%d",max(a,max(b,c)));
	return 0; 
}

题目 1045: 【入门】判断能否构成三角形

题目描述

输入三个整数,表示3条线段的长度,判断这三条线段能否构成三角形。能构成就输出’Yes’,否则输出’No’。

三角形的判断标准是:任意两边之和要大于第三边,比如有一个三角形的三条边分别为:3 5 7,这个三角形的三条边就满足3 + 5 > 7且3 + 7 > 5,且5 + 7 > 3,因此这三条边能够构成三角形;

再比如,一个三角形的三条边为3 8 5,那么因为3+5不满足大于8,就不能构成三角形。

输入

三个整数

输出

Yes or No

样例输入
3 8 5
样例输出
No
来源/分类

[分支问题]

题解 1045: 【入门】判断能否构成三角形

#include<iostream>
#include<cstdio>
using namespace std;
int a , b , c;
int main()
{
	scanf("%d %d %d",&a,&b,&c);
	if(a + b > c && a + c > b && b + c > a){
		puts("Yes");
	}else{
		puts("No");
	}
	return 0;
} 

题目 1646: 【基础】闰年判断

题目描述

输入年份,判断是否为闰年。如果是,则输出“yes”,否则输出“no”。

提示:闰年的判断有两个条件,只需满足一个即可

1.能够被4整除但不能被100整除的为闰年;

2.能够被400整除的为闰年;

输入

一个四位整数,表示年份。

输出

闰年输出“yes”,否则输出“no”。

样例输入
1996
样例输出
yes
来源/分类

[分支问题]

题解 1646: 【基础】闰年判断

#include<iostream>
#include<cstdio>
using namespace std;
int n;
int main()
{
	scanf("%d",&n);
	if(n % 4 == 0 && n % 100 != 0 || n % 400 == 0){
		puts("yes");
	}else{
		puts("no");
	}
	return 0;
}

题目 2162: 点和正方形的关系

题目描述

有一个正方形,四个角的坐标(x,y)分别是(1,-1),(1,1),(-1,-1),(-1,1),x是横轴,y是纵轴。写一个程序,判断一个给定的点是否在这个正方形内(包括正方形边界)。如果点在正方形内,则输出yes,否则输出no。

输入

输入一行,包括两个整数x、y,以一个空格分开,表示坐标(x,y)。

输出

输出一行,如果点在正方形内,则输出yes,否则输出no。

样例输入
1 1
样例输出
yes
来源/分类

[信息学奥赛一本通] [switch语句]

题解 2162: 点和正方形的关系

#include<iostream>
#include<cstdio>
using namespace std;
int x , y;
int main()
{
	scanf("%d %d",&x,&y);
	if((x >= -1 && x <= 1) && (y >= -1 && y <= 1)){
		puts("yes");
	}else{
		puts("no");
	}
	return 0;
}

题目 2163: 简单计算器

题目描述

一个最简单的计算器,支持+, -, *, / 四种运算。仅需考虑输入输出为整数的情况,数据和运算结果不会超过int表示的范围。然而:
\1. 如果出现除数为0的情况,则输出:Divided by zero!
\2. 如果出现无效的操作符(即不为 +, -, *, / 之一),则输出:Invalid operator!

输入

输入只有一行,共有三个参数,其中第1、2个参数为整数,第3个参数为操作符(+,-,*,/)。

输出

输出只有一行,一个整数,为运算结果。然而:
1.如果出现除数为0的情况,则输出:Divided by zero!
2.如果出现无效的操作符(即不为 +, -, *, / 之一),则输出:Invalid operator!

样例输入
1 2 +
样例输出
3
来源/分类

[信息学奥赛一本通] [switch语句]

题解 2163: 简单计算器

计算除法的时候我们的被除数不能为0

#include<iostream>
#include<cstdio>
using namespace std;
int a , b ;
char c;
int main()
{
	scanf("%d %d %c",&a,&b,&c);

	if(c == '+'){
		printf("%d",a + b);
	}else if(c == '-'){
		printf("%d",a - b);
	}else if(c == '*'){
		printf("%d",a * b);
	}else if(c == '/'){
		//这里要考虑被除数是否为0 
		if(b == 0){
			puts("Divided by zero!");
			return 0;
		}
		printf("%d",a / b);
	}else{
		puts("Invalid operator!");
	}
	return 0;
}

题目 2164: 求一元二次方程

题目描述

img

输入

输入一行,包含三个浮点数a,b,c(它们之间以一个空格分开),分别表示方程ax2+bx+c=0的系数。

输出

输出一行,表示方程的解。
若两个实根相等,则输出形式为:“x1=x2=…”;
若两个实根不等,在满足根小者在前的原则,则输出形式为:“x1=…;x2=…“;
若无实根输出“No answer!”。
所有输出部分要求精确到小数点后5位,数字、符号之间没有空格。

样例输入
-15.97 19.69 12.02
样例输出
x1=-0.44781;x2=1.68075
来源/分类

[信息学奥赛一本通][switch语句]

题解 2164: 求一元二次方程

#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
double a , b , c;
int main()
{
	scanf("%lf %lf %lf",&a,&b,&c);
	if (a == 0) { // 一次方程 ax + b = 0
        if (b == 0) {
            printf("No answer!");
        } else {
            printf("x=%.5f", -c / b);
        }
    } else { // 二次方程 ax^2 + bx + c = 0
        double delta = b * b - 4 * a * c;
        if (delta > 0) { // 有两个实根
            double x1 = (-b + sqrt(delta)) / (2 * a);
            double x2 = (-b - sqrt(delta)) / (2 * a);
            printf("x1=%.5f;x2=%.5f", x2, x1);
        } else if (delta == 0) { // 有两个相等的实根
            double x = -b / (2 * a);
            printf("x1=x2=%.5f", x);
        } else { // 没有实根
            printf("No answer!");
        }
    }
	return 0;
}

文章来源:https://blog.csdn.net/qq_53701704/article/details/134822859
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。