「已注销」 2022-07-27 14:57 采纳率: 66.7%
浏览 95
已结题

关于#c#的问题,如何解决?

这个平均值不对啊


#include<stdio.h>
#define  SIZE 10
#define  PAR  72
int main(void)
{
    int index, score[SIZE];
    int sum = 0;
    float average;


    printf("enter %d golf scores :\n", SIZE);
    for (index = 0; index < SIZE; index++)
        scanf_s("%d", & score[index]);


    printf("the scores read in are as fallows:\n");
    for (index = 0; index < SIZE; index++)
        printf("%5d",score[index]);


    printf("\n");


    sum += score[index];
    average = (float)sum / SIZE;


    printf("sum  of average=%.2f  scores=%d ", average, score);
    printf("that's a handicap of %.02f.\n", average - PAR);

    return 0;

}

运行结果

img

一个警告严重性 代码 说明 项目 文件 行 禁止显示状态
警告 C6273 调用 "printf" 实际类型: "int [10]" 时需要整数时,非整数传递为 Param(3)。 Project3 C:\Users\JIASHIJIE\Desktop\hello word\Project3\Project3\源.cpp 28

  • 写回答

3条回答 默认 最新

  • 快乐鹦鹉 2022-07-27 15:11
    关注

    sum += score[index];
    average = (float)sum / SIZE;
    sum你得用循环计算总和啊
    代码运行到你这行的时候,由于上面循环结束,这时候index的值是10,本身score[index]就越界访问,因此score[10]实际是个垃圾值,自然除以SIZE后还是垃圾值了

     
    #include <stdio.h>
    #define  SIZE 10
    #define  PAR  72
    int main(void)
    {
        int index, score[SIZE];
        int sum = 0;
        float average;
     
     
        printf("enter %d golf scores :\n", SIZE);
        for (index = 0; index < SIZE; index++)
        {
            scanf_s("%d", & score[index]); 
            sum += score[index];        //放到输入循环里,直接统计总分就好了
        }
        average = (float)sum / SIZE;
     
        printf("the scores read in are as fallows:\n");
        for (index = 0; index < SIZE; index++)
            printf("%5d",score[index]);
     
        printf("\n");
    
        printf("sum  of average=%.2f  scores=%d ", average, sum);   //输出scores应该是总成绩吧,变量是sum,不是score数组地址啊
        printf("that's a handicap of %.02f.\n", average - PAR);
     
        return 0;
     
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 7月27日
  • 已采纳回答 7月27日
  • 创建了问题 7月27日

悬赏问题

  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)
  • ¥15 AIC3204的示例代码有吗,想用AIC3204测量血氧,找不到相关的代码。