怎样让输入的成绩为小数可以正常编译运行呢?

#include<stdio.h>
#define NUM 10

int main()
{
    int i,sum=0;

    int s[NUM];
    
    for(i=0;i<NUM;i++)
    {
        printf("请输入第%d位同学的成绩:",i+1);
        scanf("%d",&s[i]);
        sum+=s[i];
    }
    printf("班级所有同学成绩的平均值为%.2f\n",(double)sum/NUM);
    return 0;
}

把sum和s修改为浮点数就好了,改为:

#include<stdio.h>
#define NUM 10
 
int main()
{
    int i;
    float sum=0, s[NUM];
    
    for(i=0;i<NUM;i++)
    {
        printf("请输入第%d位同学的成绩:",i+1);
        scanf("%f",&s[i]);
        sum+=s[i];
    }
    printf("班级所有同学成绩的平均值为%.2f\n",(double)sum/NUM);
    return 0;
}

麻烦点一下采纳~谢谢~~

改成浮点型数组呗


#include<stdio.h>
#define NUM 10
 
int main()
{
    int i;
 
    float s[NUM],sum=0;
    
    for(i=0;i<NUM;i++)
    {
        printf("请输入第%d位同学的成绩:",i+1);
        scanf("%f",&s[i]);
        sum+=s[i];
    }
    printf("班级所有同学成绩的平均值为%.2f\n",(double)sum/NUM);
    return 0;
}