C语言问题,输入10个数,统计偶数个数

#include <stdio.h>
void main(void)
{
int i,n;
for(i=1;i<=10;i++)
{
scanf("%d",&n);
if(n%2==0) printf("%5d",n);
}
}
这个算法有个毛病,我可以输入超过10个数,怎么改进是输入10个数就输出结果、

你好!!

程序基本思路是对的,你if判断的时候,不是对偶数加 1 ,而是直接输出了偶数,你看看改过程序:

#include <stdio.h>
int main(void)
{
  int i,n;
  int nn=0; // 增加一个变量,统计偶数个数 
  for(i=1;i<=10;i++)
  {
  scanf("%d",&n);
      if(n%2==0)
nn++;  
  }
  printf("%5d",nn);
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-04-04
楼主是按空格的吧?程序要输出结果应该按回车结束,且要到10个数字。用空格虽然可以输入无限多个数字,但最后还是只处理前十个本回答被网友采纳
第2个回答  2013-10-14
这个算法真的有毛病,数字没输完就要输出了,s是统计个数的,

#include <stdio.h>
void main(void)
{
int i,n,s=0;
for(i=1;i<=10;i++)
{
scanf("%d",&n);
if(n%2==0)
s++;
}
printf("%5d",s);
}
相似回答