解题思路:
一般来说判断一个数的奇偶有两种方法,一种是对2取余看余数,一种是n&1看结果。
第一种很好理解,如果n%2==0说明n可以被2整除,所以n就是偶数。
第二种是以二进制的角度理解,一个数的二进制如果最低位是1,那么它一定是奇数。
参考代码:
#include <bits/stdc++.h> #define ll long long using namespace std; int main() { ll n,m; cin>>n; while(n--){ cin>>m; if(m&1)cout<<"true"<<endl<<endl; else cout<<"false"<<endl<<endl; } return 0; }
还可以用条件语句合成一条:
#include <bits/stdc++.h> #define ll long long using namespace std; int main() { ll n,m; cin>>n; while(n--){ cin>>m; (m&1)?cout<<"true"<<endl<<endl:cout<<"false"<<endl<<endl; } return 0; }
也可以在函数调用的角度做:
#include <bits/stdc++.h> #define ll long long using namespace std; bool print(ll m){ return m&1; } int main() { ll n,m; cin>>n; while(n--){ cin>>m; (print(m))?cout<<"true"<<endl<<endl:cout<<"false"<<endl<<endl; } return 0; }
也可以放在宏定义里调用宏:
#include <bits/stdc++.h> #define ll long long using namespace std; #define print(m) m&1?cout<<"true"<<endl<<endl:cout<<"false"<<endl<<endl; int main() { ll n,m; cin>>n; while(n--){ cin>>m; print(m); } return 0; }
大概就想到这么多方法,本质都是对奇偶数的判断。
0.0分
2 人评分
2005年春浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:583 |
C语言训练-舍罕王的失算 (C语言代码)浏览:1032 |
数组输出 (C语言代码)浏览:767 |
简单编码 (C++代码)浏览:675 |
C语言训练-斐波纳契数列 (C语言代码)浏览:1156 |
C语言训练-求s=a+aa+aaa+aaaa+aa...a的值 (C语言代码)浏览:1027 |
【回文数(二)】 (C语言代码)浏览:728 |
C语言程序设计教程(第三版)课后习题9.8 (C语言代码)浏览:664 |
【计算直线的交点数】 (C语言代码)浏览:915 |
C语言程序设计教程(第三版)课后习题8.3 (C语言代码)浏览:455 |