奇偶个数 题目内容: 你的程序要读入一系列正整数数据,输入-1表示输入结束,-1本身不是输入的数据。程序输出读到的数据中的奇数和偶数的个数。

题目内容:

你的程序要读入一系列正整数数据,输入-1表示输入结束,-1本身不是输入的数据。程序输出读到的数据中的奇数和偶数的个数。

输入格式:

一系列正整数,整数的范围是(0,100000)。如果输入-1则表示输入结束。

输出格式:

两个整数,第一个整数表示读入数据中的奇数的个数,第二个整数表示读入数据中的偶数的个数。两个整数之间以空格分隔。

输入样例:

9 3 4 2 5 7 -1 

输出样例:

4 2

时间限制:500ms内存限制:32000kb
 
答案:

#include<stdio.h>
int main(){
  int a, n=0, m=0;
  while(scanf("%d", &a)){
    if(a==-1){
    break;
  }
  n++;
  if(a%2==0){
  m++;
  }
}
  printf("%d %d", n-m, m);

  return 0;
}

思路:

1.判断一个数是否为奇数还是偶数很简单,办法就是让这个数对2取余,如果结果为0代表这个数是一个偶数,如果结果为1代表这个数为奇数。这里需要使用一个if语句。

2.需要判断多个数据,这里需要使用循环,那么使用三种循环(while,do_while,for)中的哪一个呢?这里选择使用while,因为我们的循环次数不确定且我们的边界条件也不确定,故不能用for,do_while循环要先做一次再判断,也不适用,假如一开始就输入-1呢,所以使用while循环。需要使用多次输入数据可以用这个结构while(scanf("%d", &a)){}

3.输入-1表示结束,需要在while循环里用if(a==-1){

break;

}

 

 

 

原文地址:https://www.cnblogs.com/zhhjthing/p/7710736.html