给定N
个正整数,请统计奇数和偶数各有多少个?
输入格式:
输入第一行给出一个正整N
(≤1000);第2行给出N
个非负整数,以空格分隔。
输出格式:
在一行中先后输出奇数的个数、偶数的个数。中间以1个空格分隔。
输入样例:
9
88 74 101 26 15 0 34 22 77
输出样例:
3 6
分析:
- 导入必要的头文件:
stdio.h
用于标准输入输出,math.h
用于数学运算(虽然在这个例子中没有用到)。 - 定义主函数
main()
。 - 声明整数变量
n
,它代表输入的整数数量。 - 声明一个大小为 1001 的整数数组
a
,用于存储输入的整数。 - 声明整数变量
i
,用作循环计数器。 - 声明整数变量
Ji
和Ou
,分别用于计算奇数和偶数的数量,初始值都为0。 - 使用
scanf
函数从标准输入读取一个整数,并将其存储在变量n
中。 - 使用
for
循环读取n
个整数,并将它们存储在数组a
中。 - 使用另一个
for
循环遍历数组a
,检查每个整数是否为偶数或奇数。- 如果一个整数是偶数(即
a[i]%2==0
),则将Ou
的值加1。 - 否则,将
Ji
的值加1。
- 如果一个整数是偶数(即
- 使用
printf
函数输出Ji
和Ou
的值,中间用空格分隔。 - 返回0,表示程序正常结束。
C语言:
#include <stdio.h>
#include <math.h>
int main()
{
int n;
int a[1001];
int i;
int Ji=0,Ou=0;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(i=0;i<n;i++)
{
if(a[i]%2==0)
Ou++;
else
Ji++;
}
printf("%d %d\n",Ji,Ou);
return 0;
}
总结:
虽然数组 a
的大小被声明为 1001,但在这个例子中并没有使用到这么大的大小。因此,如果输入的整数数量不会超过1000,可以将数组的大小减少到这个值,以节省内存空间。