#include "stdio.h"
int main()
{
int n,s1=0,s2=0,j,i,av1,av2;
while(1)
{
scanf("%d",&n);
if(n==0)
break;
if(n%2==0) {s1=s1+n;i++;}
else {s2=s2+n;j++;}
if(i!=0) av1=s1/i;
if(j!=0) av2=s2/j;
}
printf("oushujunzhi:%7.2f,jishujunzhi:%7.2f\n",av1,av2);
}
为什么答案不对
你的i, j赋上初值为0
你求平均不用在循环体里算的, 只需统计i, j的值就行了, 跳出循环的时候算一次就OK了.
另外, 你求平均, av1, av2就要用float或double型, 不然你就算%7.2f只会给你补上.00的, 不准确
#include "stdio.h"