编写一个程序,读取整数,直到输入0结束。输入后,程序应报告用户输入的偶数(不包括0)个数,平均数,奇数的个数和输入的平均数。为什么我输入后,图片显示的内容不对,哪里出了错误啊?

编写一个程序,读取整数,直到输入0结束。输入后,程序应报告用户输入的偶数(不包括0)个数,平均数,奇数的个数和输入的平均数。为什么我输入后,图片显示的内容不对,哪里出了错误啊?

问题描述:


#include<stdio.h>
int main()
{
    int i=0;
    int j;
    int o;
    int sum1=0,sum2=0;
    while(scanf("%d",&i))
    {
        if(i==0)
            break;
       else    if(i%2==0)
        {    
                sum1=sum1+i;
                o++;
        }
        else
        {
                       sum2=sum2+i;
            j++;
        }
    }
    printf("偶数个数为%d,偶数的平均值为%g\n",o,1.0*sum1/o);
    printf("奇数个数为%d,奇数的平均值为%g\n",j,1.0*sum2/j);
    printf("\n");
    return 0;
}

img

o,j这个变量没有初始化为0,所以最后输出也不对
给你改好了:


#include<stdio.h>
int main()
{
    int i=0;
    int j=0;
    int o=0;
    int sum1=0,sum2=0;
    while(scanf("%d",&i))
    {
        if(i==0)
            break;
       else    if(i%2==0)
        {
                sum1=sum1+i;
                o++;
        }
        else
        {
                       sum2=sum2+i;
            j++;
        }
    }
    printf("偶数个数为%d,偶数的平均值为%g\n",o,1.0*sum1/o);
    printf("奇数个数为%d,奇数的平均值为%g\n",j,1.0*sum2/j);
    printf("\n");
    return 0;
}

img