题目要求
题目描述
任意输入一个字符,判断其 ASCII 值是否是奇数。若是,则输出 YES;否则,输出 NO。
例如:
- 字符
A 的 ASCII 值是 65(奇数),应输出 YES。
- 字符
B 的 ASCII 值是 66(偶数),则应输出 NO。
输入格式
输入为一个字符。
输出格式
根据其 ASCII 值的奇偶性输出结果。若为奇数,输出 YES;若为偶数,输出 NO。
样例输入 #1
A
样例输出 #1
YES
样例输入 #2
B
样例输出 #2
NO
题目分析
解题思路
本题的核心是考查基本的输入输出与逻辑判断能力,属于非常基础的编程练习题。解题过程可以分解为以下三步:
- 读取输入:从标准输入获取一个字符。
- 判断奇偶:将该字符强制转换为整型(
int),即可得到其 ASCII 码值。使用取模运算符 % 判断该数值除以 2 的余数是否为 1(或不为 0)。
- 输出结果:根据判断结果,输出对应的
YES 或 NO。
这类基础的字符处理与条件判断题目,是学习和巩固算法与编程思维的重要环节。
示例代码 (C++)
#include <iostream>
using namespace std;
int main() {
char n; // 定义字符变量 n
cin >> n; // 读取输入的字符
// 将字符 n 转换为整型得到其 ASCII 值,并判断是否为奇数
if ((int)n % 2 != 0) {
cout << "YES"; // ASCII 值为奇数,输出 YES
} else {
cout << "NO"; // ASCII 值为偶数,输出 NO
}
return 0;
}
代码解析
char n;:声明一个字符型变量 n 用于存储输入。
cin >> n;:使用标准输入流读取一个字符。
(int)n % 2 != 0:这是判断的关键。
(int)n 将字符 n 显式转换为其对应的 ASCII 码整数值。
% 是取模运算符,(int)n % 2 计算该 ASCII 值除以 2 的余数。
!= 0 判断余数是否不等于 0,即判断该数是否为奇数。
- 根据
if-else 条件判断的结果,输出相应的字符串。
本题“luogu-B2038”可在 洛谷在线评测系统 进行练习与提交。
|