c语⾔实践统计输⼊的⼀串正整数⾥⾯奇数和偶数的个数
怎么考虑这个问题。
⾸先先确定肯定是需要⼀个变量保存输⼊的数据的,我们叫它input,最后结果要的是个数,所以需要另外两个变量来保存奇数的个数和偶数的个数。
int input
int countJ
int cuntO
紧接着肯定需要⼀个循环,我们先考虑循环体内部每次要执⾏的东西。
{
判断这个数是偶数还是奇数,如果是奇数则countJ++,否则countO++;
}
html获取input输入的数据最后输出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);