为了账号安全,请及时绑定邮箱和手机立即绑定

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

#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 回答

#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;


}


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信