问题 D: 比较奇偶数个数
时间限制: 1 Sec 内存限制: 32 MB
提交: 1310 解决: 764
[提交][状态][讨论版][命题人:外部导入]
题目描述
第一行输入一个数,为n,第二行输入n个数,这n个数中,如果偶数比奇数多,输出NO,否则输出YES。
输入
输入有多组数据。
每组输入n,然后输入n个整数(1<=n<=1000)。
输出
如果偶数比奇数多,输出NO,否则输出YES。
样例输入
1
67
7
0 69 24 78 58 62 64
样例输出
YES
NO
思路分析
- :本题是书中p81页中介绍的while。。。EOF题型
- 解题方法为通过for循环,判断每一个输入的数,用%2取余来判断奇偶
- 用来计数奇偶的变量可以为2个a和b,分别计算奇数的个数和偶数的个数。也可以为1个,记录偶数的个数,初始化为0遇到奇数减一,遇到偶数加一,最后判断正负。因为本题较简单,有些漏洞。不会出现奇偶相同的情况。
- 记得末尾要换行哦
#include <stdio.h> int main(){ int a=0; while(scanf("%d",&a)!=EOF){ int even=0,b; for(int i=0;i<a;i++){ scanf("%d",&b); if(b%2==1) even--; else even++; } if(even>0) printf("NO\n"); else printf("YES\n"); } return 0; }
本题犯的错误:思路写的太多,编程时反而忘了步骤,下次先编完在总结思路.
欢迎多多提意见