c语言实践 统计输入的一串正整数里面奇数和偶数的个数

怎么考虑这个问题。

首先先确定肯定是需要一个变量保存输入的数据的,我们叫它input,最后结果要的是个数,所以需要另外两个变量来保存奇数的个数和偶数的个数。

int input

int countJ

int cuntO

紧接着肯定需要一个循环,我们先考虑循环体内部每次要执行的东西。

{

判断这个数是偶数还是奇数,如果是奇数则countJ++,否则countO++;

}

最后输出countJ和countO的数值,那么大概的框架已经出来了。

接着考虑循环的条件是什么?如果输入的数据是-1则循环,对不对,所以是

while(input!=-1)

{

判断这个数是偶数还是奇数,如果是奇数则countJ++,否则countO++;

}

那么input的值是哪里来的呢?是不是必须前面要有个scanf啊,所以代码是这样的:

scanf_s("%d",&input);

while(input!=-1)

{

判断这个数是偶数还是奇数,如果是奇数则countJ++,否则countO++;

}

这样就可以了吗?不行啊,因为只scanf了一次数据,那就只能读取到一个数据,所以再循环内部还需要scanf一次

所以代码就变成了

scanf_s("%d",&input);

while(input!=-1)

{

判断这个数是偶数还是奇数,如果是奇数则countJ++,否则countO++;

scanf_s("%d",&input);

}

最后代码如下面所示:

	int input = 0;
	int countJ = 0;
	int countO = 0;

	scanf_s("%d",&input);

	while (input != -1)
	{

		//偶数是可以被二整除的,所以偶数对2取余肯定是0
		if ((input%2)== 0)
		{
			countO++;
		}
		else
		{
			countJ++;
		}

		scanf_s("%d",&input);
	}

	printf("jishugeshu:%d oushugeshu %d",countJ,countO);

  

原文地址:https://www.cnblogs.com/yfish/p/9607382.html