Skip to content

条件分支

包括简单分支,多分支等

P0201001-判断一个数是奇数还是偶数

问题描述

输入一个整数,判断并输出该数是奇数还是偶数。

输入描述

输入一行,包含一个整数 n (10000n10000)。

输出描述

输出一行,如果输入的数是奇数,输出 Odd;如果是偶数,输出 Even

输入输出示例

输入数据

4

输出数据

Even

参考代码

py
n = int(input())

if n % 2 != 0:
    print('Odd')
else:
    print('Even')
cpp
#include <iostream>
using namespace std;

int main() {
  int n;
  cin >> n;
  
  if (n % 2 == 0) {
    cout << "Even";
  } else {
    cout << "Odd";
  }
  
  return 0;
}

P0201002-判断闰年或平年

问题描述

输入一个年份,判断并输出该年是闰年还是平年。

输入描述

输入一行,包含一个整数 year (1year9999),代表年份。

输出描述

输出一行,如果输入的年份是闰年,输出 Leap Year;如果是平年,输出 Common Year

输入输出示例

输入数据

2020

输出数据

Leap Year

参考代码

py
year = int(input())

if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0:
    print('Leap Year')
else:
    print('Common Year')
cpp
#include <iostream>
using namespace std;

int main() {
  int year;
  cin >> year;
  
  if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0)) {
    cout << "Leap Year";
  } else {
    cout << "Common Year";
  }
  
  return 0;
}

P0201003-FizzBuzz 游戏

问题描述

实现 FizzBuzz 游戏。从外部输入一个正整数 n,按顺序进行以下操作:

  • 如果数字是 3 的倍数,输出 Fizz
  • 如果数字是 5 的倍数,输出 Buzz
  • 如果数字同时是 3 和 5 的倍数,输出 FizzBuzz
  • 如果数字既不是 3 的倍数也不是 5 的倍数,输出该数字。

输入描述

输入一行,包含一个整数 n (1n100)。

输出描述

输出多行,每行对应一个数字的结果,如上所述。

输入输出示例

输入数据1

15

输出数据1

FizzBuzz

输入数据2

9

输出数据2

Fizz

参考代码

py
n = int(input())

if n % 3 == 0 and n % 5 == 0:
    print("FizzBuzz")
elif n % 3 == 0:
    print("Fizz")
elif n % 5 == 0:
    print("Buzz")
else:
    print(n)
cpp
#include <iostream>
using namespace std;

int main() {
  int n;
  cin >> n;
  
  if (n % 3 == 0 && n % 5 == 0) {
    cout << "FizzBuzz";
  } else if (n % 3 ==0) {
    cout << "Fizz";
  } else if (n % 5 ==0) {
    cout << "Buzz";
  } else {
    cout << n;
  }
  
  return 0;
}

P0201004-FizzBuzz 游戏

问题描述

实现 FizzBuzz 游戏。对于从 1 到 n 的每个数字(包含 n),按顺序进行以下操作:

  • 如果数字是 3 的倍数,输出 Fizz
  • 如果数字是 5 的倍数,输出 Buzz
  • 如果数字同时是 3 和 5 的倍数,输出 FizzBuzz
  • 如果数字既不是 3 的倍数也不是 5 的倍数,输出该数字。

输入描述

输入一行,包含一个整数 n (1n100)。

输出描述

输出多行,每行对应一个数字的结果,如上所述。

输入输出示例

输入数据

15

输出数据

1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzz

参考代码

py
n = int(input())

for i in range(1, n+1):
    if i % 3 == 0 and i % 5 == 0:
        print('FizzBuzz')
    elif i % 3 == 0:
        print('Fizz')
    elif i % 5 == 0:
        print('Buzz')
    else:
        print(i)
cpp
#include <iostream>
using namespace std;
int main() {
  int n;
  cin >> n;
  
  for (int i = 1; i <= n; i++) {
    if (i % 3 == 0 && i % 5 == 0) {
      cout << "FizzBuzz" << endl;
    } else if (i % 3 ==0) {
      cout << "Fizz" << endl;
    } else if (i % 5 ==0) {
      cout << "Buzz" << endl;
    } else {
      cout << i << endl;
    }
  }
  return 0;
}

P0201005-判断数字是正数、负数还是零

问题描述

输入一个整数,判断并输出该数是正数、负数还是零。

输入描述

输入一行,包含一个整数 n (1000n1000)。

输出描述

输出一行,如果输入的数是正数,输出 Positive;如果是负数,输出 Negative;如果是零,输出 Zero

输入输出示例

输入数据

-5

输出数据

Negative

参考代码

py
n = int(input())

if n > 0:
    print('Positive')
elif n < 0:
    print('Negative')
else:
    print('Zero')
cpp
#include <iostream>
using namespace std;

int main() {
  int n;
  cin >> n;
  
  if (n > 0) cout << "Positive";
  else if (n < 0) cout << "Negative";
  else cout << "Zero";
  
  return 0;
}

P0201006-检测水的状态

问题描述

输入水的温度,判断并输出水的状态(冰、水或蒸汽)。

输入描述

输入一行,包含一个整数 t,代表水的温度(摄氏度)(100t200)。

输出描述

输出一行,如果温度小于 0,输出 Ice;如果温度在 0 到 100 之间(包含边界),输出 Water;如果温度大于 100,输出 Steam

输入输出示例

输入数据

85

输出数据

Water

参考代码

py
t = int(input())

if t < 0:
    print('Ice')
elif t > 100:
    print('Steam')
else:
    print('Water')
cpp
#include <iostream>
using namespace std;

int main() {
  int t;
  cin >> t;
  
  if (t < 0) cout << "Ice";
  else if (t > 100) cout << "Steam";
  else cout << "Water";
  
  return 0;
}

P0201007-判断三角形类型

问题描述

输入三角形的三个角的度数(整数),判断并输出三角形的类型。

输入描述

输入一行,包含三个整数 a, b, c (0<a,b,c<180),代表三角形的三个角的度数。保证三角形的三个角的和为 180 度。

输出描述

输出一行,如果三角形是等边三角形,输出 Equilateral;如果是等腰三角形,输出 Isosceles;如果是不等边三角形,输出 Scalene

输入输出示例

输入数据

60 60 60

输出数据

Equilateral

参考代码

py
a, b, c = map(int, input().split())

if a == b and b == c:
    print('Equilateral')
elif a == b or a == c or a == c:
    print('Isosceles')
else:
    print('Scalene')
cpp
#include <iostream>
using namespace std;

int main() {
  int a, b, c;
  cin >> a >> b >> c;
  
  if (a == b && b == c) {
    cout << "Equilateral";
  } else if (a == b || a == b || a == c) {
    cout << "Isosceles";
  } else {
    cout << "Scalene";
  }
  
  return 0;
}

P0201008-比较两个数的大小

问题描述

输入两个整数,判断并输出两个数中较大的一个。

输入描述

输入一行,包含两个整数 ab (1000a,b1000)。

输出描述

输出一行,为两个数中较大的一个。

输入输出示例

输入数据

8 3

输出数据

8

参考代码

py
a, b = map(int, input().split())

if a > b:
    print(a)
else:
    print(b)
cpp
#include <iostream>
using namespace std;

int main() {
  int a, b;
  cin >> a >> b;
  
  if (a > b) {
    cout << a;
  } else {
    cout << b;
  }
  
  return 0;
}

P0201009-判断字母的大小写

问题描述

输入一个字母,判断并输出该字母是大写还是小写。

输入描述

输入一行,包含一个字母 ch

输出描述

输出一行,如果字母是大写,输出 Uppercase;如果是小写,输出 Lowercase

输入输出示例

输入数据

G

输出数据

Uppercase

参考代码

py
ch = input()

if ord(ch) >= 65 and ord(ch) <= 90:
    print('Uppercase')
elif ord(ch) >= 97 and ord(ch) <= 122:
    print('Lowercase')
cpp
#include <iostream>
using namespace std;

int main() {
  char c;
  cin >> c;
  
  if (c >= 'A' && c <= 'Z') {
    cout << "Uppercase";
  } else if (c >= 'a' && c <= 'z') {
    cout << "Lowercase";
  }
  
  return 0;
}

P0201010-判断成绩等级

问题描述

输入一个学生的成绩,判断并输出该成绩对应的等级。成绩等级为:90-100 为 'A',80-89 为 'B',70-79 为 'C',60-69 为 'D',59 以下为 'F'。

输入描述

输入一行,包含一个整数 score (0score100),代表学生的成绩。

输出描述

输出一行,为成绩对应的等级。

输入输出示例

输入数据

85

输出数据

B

参考代码

py
score = int(input())

if score >= 90:
    print('A')
elif score >= 80  and score < 90:
    print('B')
elif score >= 70  and score < 80:
    print('C')
elif score >= 60  and score < 80:
    print('D')
else:
    print('F')
cpp
#include <iostream>
using namespace std;

int main() {
  int score;
  cin >> score;
  
  if (score >= 90) cout << "A";
  else if (score >= 80) cout << "B";
  else if (score >= 70) cout << "C";
  else if (score >= 60) cout << "D";
  else cout << "F";
  
  return 0;
}

P0201011-判断输入的年份是否是21世纪

问题描述

输入一个年份,判断并输出该年份是否属于21世纪。

输入描述

输入一行,包含一个整数 year (1year9999),代表年份。

输出描述

输出一行,如果该年份属于21世纪,输出 21st Century;否则,输出 Not 21st Century

输入输出示例

输入数据

2005

输出数据

21st Century

参考代码

py
year = int(input())

if year >= 2000:
    print('21st Century')
else:
    print('Not 21st Century')
cpp
#include <iostream>
using namespace std;

int main() {
  int year;
  cin >> year;
  
  if (year >= 2000) {
    cout << "21st Century";
  } else {
    cout << "Not 21st Century";
  }
  
  return 0;
}

P0201012-判断信号灯颜色

问题描述

输入一个信号灯的颜色(红、黄、绿),判断并输出对应的行动指示。

输入描述

输入一行,包含一个字符串 color,代表信号灯的颜色(Red, Yellow, Green)。

输出描述

输出一行,如果颜色是 Red,输出 Stop;如果是 Yellow,输出 Caution;如果是 Green,输出 Go

输入输出示例

输入数据

Yellow

输出数据

Caution

参考代码

py
color = input()

if color == 'Red':
    print('Stop')
elif color == 'Yellow':
    print('Caution')
elif color == 'Green':
    print('Go')
cpp
#include <iostream>
using namespace std;

int main() {
  string color;
  cin >> color;
  
  if (color == "Red") cout << "Stop";
  else if (color == "Yellow") cout << "Caution";
  else if (color == "Green") cout << "Go";
  
  return 0;
}

P0201013-判断输入字符的类型

问题描述

输入一个字符,判断并输出该字符是字母、数字还是其他字符。

输入描述

输入一行,包含一个字符 ch

输出描述

输出一行,如果字符是字母,输出 Letter;如果是数字,输出 Digit;否则,输出 Other

输入输出示例

输入数据

@

输出数据

Other

参考代码

py
ch = input()

ascii_v = ord(ch)

if ascii_v >= 65 and ascii_v <= 90 or ascii_v >= 97 and ascii_v <= 122:
    print('Letter')
elif ascii_v >= 48 and ascii_v <= 57:
    print('Digit')
else:
    print('Other')
cpp
#include <iostream>
using namespace std;

int main() {
  char c;
  cin >> c;
  
  if (isdigit(c)) cout << "Digit";
  else if (isalpha(c)) cout << "Letter";
  else cout << "Other";
  
  return 0;
}

P0201014-判断所输入的月份季节

问题描述

编写一个 Python 程序,输入一个月份(1-12),判断并输出该月份所属的季节。

输入描述

输入一行,包含一个整数 month (1month12),代表月份。

输出描述

输出一行,根据月份输出对应的季节:Spring(3-5月),Summer(6-8月),Autumn(9-11月),Winter(12, 1-2月)。

输入输出示例

输入数据

4

输出数据

Spring

参考代码

py
month = int(input())

if month >= 1 and month <= 3:
    print('Spring')
elif month >= 4 and month <= 6:
    print('Summer')
elif month >= 7 and month <= 9:
    print('Autumn')
else:
    print('Winter')
cpp
#include <iostream>
using namespace std;

int main() {
  int month;
  cin >> month;
  
  if (month >= 1 && month <= 3) {
    cout << "Spring";
  } else if (month >= 4 && month <= 6) {
    cout << "Summer";
  } else if (month >= 7 && month <= 9) {
    cout << "Autumn";
  } else {
    cout << "Winter";
  }
  
  return 0;
}

P0201015-判断是否满足三角形的条件

问题描述

编写一个 Python 程序,输入三个整数,判断并输出这三个数是否可以构成一个三角形。

输入描述

输入一行,包含三个整数 a, b, c (0<a,b,c<1000)。

输出描述

输出一行,如果这三个数

可以构成一个三角形,输出 能构成三角形;否则,输出 不能构成三角形

输入输出示例

输入数据

3 4 5

输出数据

能构成三角形

参考代码

py
a, b, c = map(int, input().split())

if a + b > c and a - b < c:
    print('能构成三角形')
else:
    print('不能构成三角形')
cpp
#include <iostream>
using namespace std;

int main() {
  int a, b, c;
  cin >> a >> b >> c;
  
  if (a + b > c && a - b < c) {
    cout << "能构成三角形";
  } else {
    cout << "不能构成三角形";
  }
  
  return 0;
}

P0201016-判断三位数的对称数

问题描述

请从键盘读入一个三位整数,判断这个三位整数是否是对称数(对称数指的是,这个数正过来和倒过来是同一个数,比如:121、686、808 等数都是对称数),如果是对称数,则输出“Y” ,否则输出“N” 。(请注意字母的大小写)。

输入描述

输入一行,包含一个三位整数 n (100<=n<=999)。

输出描述

如果这个三位数是对称数,输出 “Y” ,如果不是,输出“N” 。

输入输出示例

输入数据

121

输出数据

Y

参考代码

py
n = int(input())

h_digit = n // 100
t_digit = n // 10 % 10
o_digit = n % 10
m = o_digit * 100 + t_digit * 10 + h_digit

if n == m:
    print('Y')
else:
    print('N')
cpp

P0201017-判断六位数的对称数

问题描述

请从键盘读入一个六位整数,判断这个三位整数是否是对称数(对称数指的是,这个数正过来和倒过来是同一个数,比如:123321、678876、897798 等数都是对称数),如果是对称数,则输出“Y” ,否则输出“N” 。(请注意字母的大小写)。

输入描述

输入一行,包含一个六位整数 n (100<=n<=999)。

输出描述

如果这个三位数是对称数,输出 “Y” ,如果不是,输出“N” 。

输入输出示例

输入数据

123321

输出数据

Y

参考代码

py
n = int(input())
n1 = n
m = 0

while n1 > 0:
    y = n1 % 10
    m = m * 10 + y
    n1 //= 10

if n == m:
    print('Y')
else:
    print('N')
cpp

P0201018-能倒多少杯水

问题描述

花花所在的学校引入了电水箱为同学们烧开水。 已知电水箱的容量为 n 升(n <= 10L),同学们带的杯子平均容量为 x 毫升(100 <= x <= 300)。请问:烧一箱开水最多能倒多少杯?(不足 1 杯算 1 杯)

输入描述

输入一行,包含两个整数 nxn 代表电水箱的总容量(单位:L),x 代表一个杯子的容量(单位:ml)。

输出描述

一个整数,代表最多能够倒多少杯水(不足 1 杯算 1 杯)。

输入输出示例

输入数据

1 120

输出数据

9

参考代码

py
n, x = map(int, input().split())

# n 的单位是 L,要换算成 ml 计算
y = n * 1000 % x    # 计算余数 y
if y == 0:
    cups = n * 1000 // x
else:
    cups = n * 1000 // x + 1

print(cups)
cpp

P0201019-分配任务

问题描述

在社会实践活动中有三项任务分别是:种树、采茶、送水。依据小组人数及男生、女生人数决定小组的接受任务,人数小于 10 人的小组负责送水(输出 water ),人数大于等于 10 人且男生多于女生的小组负责种树(输出 tree ),人数大于等于 10 人且男生不多于女生的小组负责采茶(输出 tea )。输入小组男生人数、女生人数,输出小组接受的任务。

输入描述

一行两个空格隔开的数,表示小组中男生和女生的人数。

输出描述

输出对应的任务。

输入输出示例

输入数据

2 3

输出数据

water

参考代码

py
boy, girl = map(int, input().split())
both = boy + girl

if both < 10:
    print('water')
else:
    if boy > girl:
        print('tree')
    else:
        print('tea')
cpp

P0201020-小明的幸运数

来源:202309GESPPython01

问题描述

所有个位数为 k 的正整数,以及所有 k 的倍数,都被小明称为“ k幸运数”。小明想知道正整数 LR 之间(包括 和 ) 所有 k幸运数的和,你能帮帮他吗?

输入描述

输入 3 行。第 1 行包含正整数 k,第 2 行包含正整数 L,第 3 行包含正整数 R。约定 2<=k<=91<=L<=R<=1000

输出描述

输出 1 行,符合要求的幸运数之和。

输入输出示例

输入数据

7
1
10

输出数据

7

参考代码

py
luckyNum = int(input())
leftNum = int(input())
rightNum = int(input())

luckySum = 0

for i in range(leftNum,rightNum + 1):
    if i % luckyNum == 0 or i % 10 == luckyNum:
        luckySum += i
print(luckySum)
cpp