求十个同学成绩的平均值,运行不出来怎么回事

#include <stdio.h>
float f(float x[],int n)
{
int i;
float average,s=0;
for(i=0;i<n;i++)
s=s+x[i];
average =s/n;
return average;
}
int main()
{
float a[10];
int i;
for(i=0;i<10;i++);
scanf("%f",&a[i]);
printf("average=%f\n",f(a,10));
return 0;
}

作为过来人的经验是 for 循环只有一条语句的时候也要写大括号

img


错误:for循环后面多写了个分号,然后最后的输出语句没有缩进


我改了一下

#include <stdio.h>

float f(float x[], int n)
{
    int i;
    float average, s = 0;
    for (i = 0; i < n; i++)
    {
        s = s + x[i];
    }
    average = s / n;

    return average;
}
int main()
{
    float a[10];
    int i;

    for (i = 0; i < 10; i++)
    {
        scanf("%f", &a[i]);
    }
    
    printf("average=%f\n", f(a, 10));
    return 0;
}

运行结果如下

img

img

改了一下代码


#include <stdio.h>
float f(float x[], int n) {
    int i;
    float average, s = 0;
    for (i = 0; i < n; i++)
        s = s + x[i];
    average = s / n;
    return average;
}
int main() {
    float a[10];
    int i;
    for (i = 0; i < 10; i++)
        scanf("%f", &a[i]);
    printf("average=%f\n", f(a, 10));
    return 0;
}