C语言:输入10个学生成绩求平均,并将低于平均成绩的分数打印出来,用数组fscore存放10个学生

C语言:输入10个学生成绩求平均,并将低于平均成绩的分数打印出来,用数组fscore存放10个学生成绩,分别编写三个函数 read,data Aver和print,用来输入学生成绩,求平均成绩和打印低于平均成绩的分数(用函数)

#include<stdio.h>

void read(float grade[],int length){
    int i=0;
    for(i=0;i<length;i++){
        printf("Please input the grade of the %d student:",i+1);
        scanf("%f",&grade[i]);
    }
}

float dataAver(float grade[],int length){
    float result=0;
    int i=0;
    for(i=0;i<length;i++){
        result=result+grade[i];
    }
    return result/length;
}

void print(float grade[],int length,float average){
    int i=0;
    for(i=0;i<length;i++){
        if(grade[i]<average){
            printf("%f\n",grade[i]);
        }
    }
}

void main(){
    float grade[10];
    read(grade,10);
    float average=dataAver(grade,10);
    print(grade,10,average);
}


追问

有简单一点的编程吗?

追答

哥们,这个还不简单?

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-06-17
#include <iostream>

void read(float (*data)[10])
{
for(int i = 0; i < 10 ; i++)
std::cin >> (*data)[i];
}

float dataAver(float *data,int len)
{
float sum = 0;
for(int i = 0; i < len; i++)
sum += data[i];

return sum/len;
}

void myprint(float av,float *data,int len)
{

for(int i = 0; i < len; i++)
if( data[i] < av )
std::cout << data[i] << " "

std::cout << std::endl;

}

int main()
{
float data[10] = {0};

read(&data);

float av = dataAver(data,10);

myprint(av,data,10);

return 0;
}