2 qq 26561417 qq_26561417 于 2017.01.14 23:45 提问

新手刷题一道简单题一直无法通过 = =

题目描述:
第一行输入一个数,为n,第二行输入n个数,这n个数中,如果偶数比奇数多,输出NO,否则输出YES。
输入:
输入有多组数据。
每组输入n,然后输入n个整数(1<=n<=1000)。
输出:
如果偶数比奇数多,输出NO,否则输出YES。
样例输入:
5
1 5 2 4 3
样例输出:
YES

import java.util.Scanner;

public class solution {
public static void main(String[] args)
{
Scanner s = new Scanner(System.in);
while(s.hasNext()){
int countodd=0;
int counteven=0;
int n=s.nextInt();
s.nextLine();
System.out.println(n);

for( int i = 0; i < n;i ++ )
{
int m=s.nextInt();
System.out.println(m);
if(m%2!=0)
countodd++;
else
counteven++;
}
if(countodd<counteven)
System.out.println("NO\n");
else
System.out.println("YES\n");

}

}

}

4个回答

caozhy
caozhy   Ds   Rxr 2017.01.14 23:51
qq_26561417
qq_26561417 就是在那提交不过= =
11 个月之前 回复
zp0203
zp0203   2017.01.15 09:41

public static void main(String[] args) {
Scanner s = new Scanner(System.in);
int countodd = 0; // 奇数个数
int counteven = 0;// 偶数个数
System.out.println("请输入n:");
int n = s.nextInt();//
System.out.println(n);
while (n > 0) {
n--;
int m = s.nextInt();
System.out.print(m + ",");
if (m % 2 != 0)
countodd++;
else
counteven++;
}
if (countodd < counteven)
System.out.println("NO\n");
else
System.out.println("YES\n");

}
qq_26561417
qq_26561417 我把你的代码提交了还是提交不过啊,我感觉你的代码没有考虑题目中的多组数据输入啊 但是非常感谢您的回复
11 个月之前 回复
zp0203
zp0203   2017.01.15 09:46

你的每次while都会将个数重新赋值为0

AAAwei1996
AAAwei1996   2017.01.15 10:27

我是用c语言帮你解决的,希望能帮到你图片说明

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!