片头
嗨!小伙伴们,今天我们将学习C++蓝桥杯基础篇(二),继续练习相关习题,准备好了吗?咱们开始咯~
第1题
简单计算器输入两个数,以及一个运算符 +,-,*,/,输出这两个数运算后的结果。当运算符是/,且除数是0时,输出"Divided byzero!";当输入的字符不是 +,-,* , / 时,输出"Invalid operator!”
代码如下:
//简易计算器
//输入2个数,以及一个运算符+、-、*、/,输入这2个数运算后的结果
//当运算符是/,且除数是0时,输出"Divided by zero!",
//当输入的字符不是+、-、*、/时,输出"Invalid operator!"
int main() {
int a, b;
char c;
cin >> a >> b >> c;
if (c == '+') {
cout << a + b << endl;
}
else if (c == '-') {
cout << a - b << endl;
}
else if (c == '*') {
cout << a * b << endl;
}
else if (c == '/') {
if (b == 0) {
cout << "Divided by zero!" << endl;
}
else cout << a / b << endl;
}
else {
cout << "Invalid operator!" << endl;
}
return 0;
}
注意:当执行除法运算时,必须加上if-else条件判断;如果不加else,那么当除数为0时,依然会执行 a/b,编译器报错。
第2题
输入一个0~100之间的分数,如果大于等于85,输出A,如果大于等于70并且小于85,输出B,如果大于等于60并且小于70,输出C,如果小于60,输出D
代码如下:
方法一:
int main() {
int score;
cin >> score;
if (score >= 85) {
cout << 'A' << endl;
}
else if (score >= 70 && score < 85) {
cout << 'B' << endl;
}
else if (score >= 60 && score < 70) {
cout << 'C' << endl;
}
else {
cout << 'D' << endl;
}
return 0;
}
我们可以将上面的代码完善一下,可以将条件简化。
方法二:
int main() {
int score;
cin >> score;
if (score >= 85) {
cout << 'A' << endl;
}
else if (score >= 70) {
cout << 'B' << endl;
}
else if (score >= 60) {
cout << 'C' << endl;
}
else {
cout << 'D' << endl;
}
return 0;
}
第3题
判断闰年。闰年有两种情况:(1)能被 100 整除时,必须能被 400 整除(2)不能被 100 整除时,被4整除即可。输入一个年份,如果是闰年输出yes,否则输出 no。
代码如下:
int main() {
int year;
cin >> year;
if ((year % 400 == 0) || (year % 4 == 0 && year % 100 != 0)) {
cout << "yes" << endl;
}
else {
cout << "no" << endl;
}
return 0;
}
第4题 最大值
输入3个数,输出3个数中的最大值
思路:我们可以使用if-else语句来实现,先比较2个数,再和第3个数进行比较
//输入3个数,输出3个数中的最大值
/*
如果 a >= b,
如果 a >= c
a是最大值
否则
c是最大值
否则
如果 b >= c
b是最大值
否则
c是最大值
*/
int main() {
int a, b, c;
cin >> a >> b >> c;
if (a > b) {
if (a > c) {
cout << a << endl;
}
else {
//a<c
cout << c << endl;
}
}
else {
//a<b
if (b > c) {
cout << b << endl;
}
else {
//b<c
cout << c << endl;
}
}
return 0;
}
方法二:我们直接进行比较,得出最大值
int main() {
int a, b, c;
cin >> a >> b >> c;
if (a >= b && a >= c) {
cout << a << endl;
}
else if (b >= a && b >= c) {
cout << b << endl;
}
else {
cout << c << endl;
}
return 0;
}
第5题 倍数
代码如下:
//倍数
//读取2个正整数值(A和B)
//如果其中1个是另一个的整数倍,则输出"Sao Multiplos"
//否则输出"Nao sao Multiplos"
int main() {
int A, B;
cin >> A >> B;
if ((A % B == 0) || (B % A == 0)) {
cout << "Sao Multiplos" << endl;
}
else {
cout << "Nao sao Multiplos" << endl;
}
return 0;
}
第6题 零食
代码如下:
//零食
//某商店出售5种零食,零食编号1~5
//5种零食的价目表如下所示
//零食种类 价格
//零食 1 R$ 4.00
//零食 2 R$ 4.50
//零食 3 R$ 5.00
//零食 4 R$ 2.0