为什么运行出来无法得到结果呢,求指导

#include<stdio.h>
int main(void)
{
int n,defen,sum=0,count=0;
double average=0;
scanf("%d",&n);
if(n>=0)
{
for(int i=0;i<=n;i++)
{
scanf("%d",&defen);
sum+=defen;
if(defen>=60)
{
count++;
}

    }
    average=sum/n;
}
printf("average=%.1f\n",average);
printf("count=%d",count);
return 0;

}

你的题目是什么?

#include <stdio.h>
int main(void)
{
    int n, defen, sum = 0, count = 0;
    double average = 0;
    scanf("%d", &n);
    if (n >= 0)
    {
        for (int i = 0; i < n; i++) //是i < n  
        {
            scanf("%d", &defen);
            sum += defen;
            if (defen >= 60)
            {
                count++;
            }
        }
        average = sum*1.0 / n; //  sum要*1.0变成浮点数
    }
    printf("average=%.1f\n", average);
    printf("count=%d", count);
    return 0;
}


img

1.把sum改成double类型
2.for循环中,应该是i<n,不是i<=n

供参考:

#include<stdio.h>
int main(void)
{
    int n,defen,sum=0,count=0;
    double average=0;
    scanf("%d",&n);
    if(n > 0)  //if(n>=0)
    {
        for(int i=0;i < n;i++)  //for(int i=0;i<=n;i++)
        {
            scanf("%d",&defen);
            sum+=defen;
            if(defen>=60)
            {
                count++;
            }
        }
        average=sum/n;
        printf("average=%.1f\n",average);
        printf("count=%d",count);
    }
    
    return 0;
}

看下你输入的情况,程序有没有结束。

可以运行的啊

题目是啥啊?!