急急急!c语言编程题在主函数中定义一个?

在主函数中定义一个一维数组,把若干个人(人数自己确定)的成绩存放在一维数组中,这些数值需要从键盘里任意输入。编写函数fun,它的功能是:将高于平均分的分数放在一个数组中,将低于平均分的分数放在另一个数组中,要求在主函数中输出两个数组。

第1个回答  2019-11-28

#include <stdio.h>

#include <stdlib.h>


void fun(int n,float *s,float *a,float *b){

        float sum = 0;

        float *t = s;

        for(int i = 0; i<n; i++,t++){

                sum += *t;

        }

        float avg = (float)sum / n;


        for(int i = 0; i < n; i++,s++){

                if(*s > avg){

                        *a = *s;

                        a++;

                }else{

                        *b = *s;

                        b++;

                }

        }

}


int main(){

        int n;

        printf("人数:\n");

        scanf("%d",&n);

        float *s = (float*)malloc(n * sizeof(float));

        float *a = (float*)malloc(n * sizeof(float));

        float *b = (float*)malloc(n * sizeof(float));


        printf("成绩:\n");

        for(int i = 0; i < n; i ++){

                scanf("%f",&s[i]);

        }

        fun(n,s,a,b);

printf("高于平均分得成绩:\n");

        for(int i =0;a[i] != '\0'; i++){

                printf("%f ",a[i]);

        }

        printf("\n");

printf("低于平均分得成绩:\n");

        for(int i = 0;b[i] != '\0'; i++){

                printf("%f ",b[i]);

        }

        printf("\n");


        return 0;

}

运行结果:

本回答被网友采纳
相似回答