haozi0208 2024-03-31 16:58 采纳率: 100%
浏览 5
已结题

求偶数奇数并输出平均值

不知道为什么奇数平均值输出正常,偶数平均值输出错误,求各位解惑(╥﹏╥)


#include<stdio.h>

int main(void)
{
    int i,oushu,jishu;
    float sum=0,sum1=0;
     int a[10]={1,2,3,4,5,6,7,8,9,10};
      
     for(i=0;i<10;i++)
         if(a[i]%2 == 0)
             {
                 oushu+=a[i];
                 sum++;
             }
        else
            {
                jishu+=a[i];
                sum1++;
            }
    printf("偶数平均值为=%.2f 奇数平均值为=%.2f",oushu/sum,jishu/sum1);        
    
 }
  • 写回答

5条回答 默认 最新

  • GISer Liu 2024-03-31 17:19
    关注

    该回答引用自GPT-3.5,由博主GISer Liu编写:

    这段代码存在一些问题。主要问题在于变量oushujishu没有初始化,导致在计算平均值时出现错误。此外,求和变量sumsum1应该为整数类型,以确保整数相除时得到正确的结果。以下是修改后的代码:
    cCopy code

    #include <stdio.h>
    int main(void) {
    int i, oushu = 0, jishu = 0, sum = 0, sum1 = 0;
    int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
    for (i = 0; i < 10; i++) {
    if (a[i] % 2 == 0) {
    oushu += a[i];
    sum++;
    } else {
    jishu += a[i];
    sum1++;
    }
    }
    printf("偶数平均值为=%.2f 奇数平均值为=%.2f", (float)oushu / sum, (float)jishu / sum1);
    return 0;
    }
    

    在修改后的代码中,对oushujishu进行了初始化,同时将求和变量sum和``` sum1

    ```改为整数类型,并在打印平均值时进行了类型转换,以确保得到正确的结果。

    如果该回答解决了您的问题,请采纳!如果没有,请参考以下方案进行修订

    用户答题指南

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

问题事件

  • 系统已结题 4月8日
  • 已采纳回答 3月31日
  • 创建了问题 3月31日