Ult*_*nct 35
这可以使用1位字段来完成,如下面的代码所示:
#include<iostream>
struct OddEven{
unsigned a : 1;
};
int main(){
int num;
std::cout<<"Enter the number: ";
std::cin>>num;
OddEven obj;
obj.a = num;
if (obj.a==0)
cout<<"Even!";
else
cout<<"Odd!";
return 0;
}
Run Code Online (Sandbox Code Playgroud)
因为obj.a是一个单字段值,所以只有LSB会被保存!你可以检查一下你的答案.. 0 - >即使是其他奇怪.. !!
mis*_*tor 14
最简洁的解决方案:
#include <iostream>
#include <string>
#include <bitset>
int main() {
std::string const type[] = {"even", "odd"};
int n;
std::cout << "Enter an integer." << std::endl;
std::cin >> n;
std::cout << type[(std::bitset<1>(std::abs(n))[0])] << std::endl;
}
Run Code Online (Sandbox Code Playgroud)
switch (n) {
case 0:
case 2:
case 4:
...
return Even;
}
return Odd;
Run Code Online (Sandbox Code Playgroud)
您可以将数字转换为字符串,并检查最后一位数字是1,3,5,7还是9.
| 归档时间: |
|
| 查看次数: |
6020 次 |
| 最近记录: |