题目内容:
你的程序要读入一系列正整数数据,输入-1表示输入结束,-1本身不是输入的数据。程序输出读到的数据中的奇数和偶数的个数。
输入格式:
一系列正整数,整数的范围是(0,100000)。如果输入-1则表示输入结束。
输出格式:
两个整数,第一个整数表示读入数据中的奇数的个数,第二个整数表示读入数据中的偶数的个数。两个整数之间以空格分隔。
输入样例:
934257 -1
输出样例:
42
时间限制:500ms内存限制:32000kb
理解:本题难点在于如何判断奇偶数,然后借助两个累加器在循环中进行判断计算即可。
代码:
#include<stdio.h>
int main()
{
//定义两个累加器,对奇数个数个偶数个数计数
int even = 0; //偶数累计
int odd = 0;//计数 累加
int x;
scanf("%d",&x);//首先要输入一个数进行判断
while(x != -1){ //输入-1表示结束
if(x%2 == 0){//对2取余是0的话则是偶数
even++;
}
else{//对2取余不是0的话则是奇数
odd++;
}
scanf("%d",&x);//在循环中计算过后再输入数字进行判断计算
}
printf("奇数有%d个;偶数有%d个。\n",odd,even);
return 0;
}