我觉得我设计的程序太麻烦了,有没有那位大神能看一下并改一下我的程序,能变得简单又没有错误??(编译运行结果是正确的)

来源:6-12 综合练习

慕标8093314

2018-10-27 00:46

#include <stdio.h>

int main()

{

    int sum(int score[]),high(int score[]),low(int score[]),average(int score[]),replay(int score[]);

    int score[]={67,98,75,63,82,79,81,91,66,84};

    sum(score);

    high(score);

    low(score);

    average(score);

    replay(score);

    return 0;

}


int sum(int score[])

{

    int sum=0;

    int i;

    for(i=0;i<10;i++)

    {

        sum=sum+score[i];

    }

    printf("总分是:%d\n",sum);

    return(sum);

}


int high(int score[])

{

    int i;

    int w=score[0];

    for(i=1;i<10;i++)

    {

        if(w<score[i])

        {

            w=score[i];

        }

    }

    printf("最高分:%d\n",w);

    return(w);

}


int low(int score[])

{

    int i;

    int w=score[0];

    for(i=1;i<10;i++)

    {

        if(w>score[i])

        {

            w=score[i];

        }

    }

    printf("最低分:%d\n",w);

    return(w);

}


int average(int score[])

{

    int sum=0,i;

    float aver;

    for(i=0;i<10;i++)

    {

        sum=sum+score[i];

    }

    aver=sum/10.0;

    printf("平均分是:%.2f\n",aver);

    return(aver);

}


int replay(int score[])

{

    int i,j;

    printf("降序如下:");

    for(i=0;i<10;i++)

    {

        for(j=8;j>=i;j--)

        {

            if(score[j]<score[j+1])

            {

                int temp;

                temp=score[j];

                score[j]=score[j+1];

                score[j+1]=temp;

            }

        }

    }

    for(i=0;i<10;i++)

    {

        if(i!=9)

        {

            printf("%d,",score[i]);

        }

        else

        {

            printf("%d\n",score[i]);

        }

    }

    return 0;

}


写回答 关注

1回答

  • mmmmmda
    2018-10-29 16:52:05

    #include <stdio.h>

    #define N 10

    double sum(int v[])

        {

            double sum;

            int i;

            for(i=0;i<N;i++)

                sum+=v[i];


            return (sum);

        }


    void sort(int v[],int n)

    {

        int i,j,temp;

        for(i=0;i<N-1;i++)

            for(j=0;j<N-i-1;j++)

            if(v[j]>v[j+1]){

                temp=v[j];

                v[j]=v[j+1];

                v[j+1]=temp;

            }

    }


    int max(int v[])

    {

        int i,max;

        for(i=0;i<N;i++)

        if(v[i]>max){

            max=v[i];

        }

        return (max);

    }


    int min(int v[])

    {

        int i,min;

        min=v[0];

        for(i=1;i<N;i++)

            if(v[i]<min){

                min=v[i];

            }

            return (min);

    }


    double ave(int v[])

    {

        double sum,ave;

        int i;

        for(i=0;i<N;i++)

            sum+=v[i];

        return(ave=sum/N);


    }


    int main(void)

    {

        int score[N]={67,98,75,63,82,79,81,91,66,84};


        printf("sum=%.1f\n",sum(score));

        printf("max=%d\n",max(score));

        printf("min=%d\n",min(score));

        printf("ave=%.1f\n",ave(score));

        sort(score,N);

        int i;

        for(i=N-1;i>=0;i--)

            printf("%4d",score[i]);

        return 0;


    }


C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926210 学习 · 20797 问题

查看课程

相似问题