N个数按奇偶分开统计个数

问题描述:给定 N个正整数,请统计奇数和偶数各有多少个?

这是一道对我来说有点意思的题,因为可以用到循环和数组,而且稍稍有点元素的概念,下面会详细解释一下,话不多说,代码来起!

#include<stdio.h>
int main()
{
	int N,shuzu[1000],a,b,c,d;
	c=0;
	d=0;
	scanf("%d\n",&N);
	for(a=0;a<N;a++){
		scanf("%d",&shuzu[a]);
	}
	for(b=0;b<N;b++){
		if(shuzu[b]%2!=0){
			c++;
		}
		else{
			d++;
		}
	}
	printf("%d %d",c,d);
	return 0;
}

我写的是N<=1000的情况,如果要求的是别的N的范围,可自行将shuzu[1000]内的1000替换成别的,其余不变。

在此,我先介绍一下数组中的元素是按下标递增的方式连续排列,数组元素的下标范围是从0开始,到<元素个数>-1为止。比如,我定义的数组shuzu[1000],它的下标范围是0~999。

这样,明白了以上内容,理解起来就容易多了。

我来解释一下代码,首先,定义后,输入要区分统计的数有多少个,也就是N。

随后,要分别输入这N个数具体是什么,与此同时,将这几个数写进数组shuzu[ ]内。在这里,将借用a来实施,结合上述知识点,就不难理解for(a=0;a<N;a++)中为什么a=0,且a<N。这样我们可以得到具有N个元素的数组,那N个数依次赋给从shuzu[0]到shuzu[N-1]这N个元素。

然后,借用for循环让b依次将shuzu[ ]内的元素提出(下标与a类似),参与if--else过程。其中,shuzu[b]%2!=0的就是奇数,用c来记录其个数;不满足的就是偶数,用d来记录其个数。

是不是很简单呢?嘿嘿,欢迎大家一起讨论啊!

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值