【题目链接】
ybt 1042:奇偶ASCII值判断
OpenJudge NOI 1.4 04:奇偶ASCII值判断
【题目考点】
1. if…else语句
2. 三目运算符?:
3. 判断奇数偶数
- 数a如果是奇数,则有a除以2的余数为1,即
a % 2 == 1
。 - 数a如果是偶数,则有a除以2的余数为0,即
a % 2 == 0
。
4. char类型量与ASCII码
char类型量实质是一个整数,该数就是该量所表示的字符对应的ASCII码
5. cin无法读入空格字符
假设有char c;
题目中说读入一个字符,而空格也是一个字符。无法通过cin>>c;
的形式读入空格字符。
可以使用scanf("%c", &c);
,或c = cin.get();
,c = getchar();
【题解代码】
解法1:用cin.get(),cout输入输出
用if…else语句
#include<bits/stdc++.h>
using namespace std;
int main()
{
char c = cin.get();//不能用cin>>c,cin无法读入空格。
if(c % 2 == 1)
cout<<"YES";
else
cout<<"NO";
return 0;
}
解法2:用scanf,printf输入输出
用三目运算符
#include<bits/stdc++.h>
using namespace std;
int main()
{
char c;
scanf("%c", &c);//或c = getchar();
printf("%s", c % 2 == 1 ? "YES" : "NO");//%s 输出字符串
return 0;
}