c语言中输入一些成绩放入数组中,输出所有高于平均成绩的数据

如题所述

#include <stdlib.h>

int main()
{
    int s,sc[100];
    int avg=0;
    int i,idx=0;
    long sum=0;
    do
    {
        printf("输入成绩(0结束输入):");
        scanf("%d",&s);
        if(s!=0)
        {
            sc[idx++]=s;
            sum += s;//累计求和
        }
    }while(s!=0);

    avg = sum/(idx);//求平均数
    printf("输入的%d个成绩的平均分是:%d,超过平均分的成绩如下:\n",idx,avg);
    for(i=0;i<idx;i++)
    {
        if(sc[i]>=avg)
        {
            printf("%d ",sc[i]);
        }
    }
    return 0;
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-11-29
先求出平均成绩,然后再一一比对就可以了!!!
第2个回答  2015-11-30
#include <stdio.h>
#define M 10  
int main()
{
int i;
float average, sum = 0.0, score[M];

printf ("输入%d个成绩:\n", M);
for (i=0; i<M; i++)
{
scanf ("%f" ,&score[i]);
sum += score[i];
}
average = sum / M; //求出平均成绩
printf ("平均成绩:%.2f\n", average); //保留两位小数
printf ("高于平均成绩的:\n");
for (i=0; i<M; i++)
if (score[i] > average)
printf ("%.2f ", score[i]);
printf ("\n");

return 0;
}

本回答被网友采纳