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

求看一下我这样写的缺点

#include <stdio.h>
void say1(int score[])
{
    int i;
    int result=0;
    for(i=0;i<10;i++)
    {
        result=result+score[i];
    }
    printf("总分:%d\n",result);
}
void say2(int score[])
{
    int i;
    int max=score[0];
    for(i=0;i<10;i++)
    {
        if(max<score[i])
       
        max=score[i];
    }
    printf("最高分:%d\n",max);
}
void say3(int score[])
{
    int i;  int min=score[0];
    for(i=0;i<10;i++)
    {
        if(min>score[i])
        min=score[i];
    }
    printf("最低分:%d\n",min);
}
void say4(int score[])
{
    int i;
    float result=0 ;
    for(i=0;i<10;i++)
    {
        result=(result+score[i])/10;
       
    }
    printf("平均分:%.2f\n",result);   
}
void say5(int score[])
{
    int i; int j;
      for(i=8;i>0;i--)
    {   for(j=0;j<=i;j++)
      {
          if(score[j]<score[j+1])
        {   int temp;
            temp=score[j+1];
            score[j+1]=score[j];
            score[j]=temp;
        }              
      }
    }
    printf("排序之后:");
    for(i=0;i<10;i++)
    {
        if(i!=9)
        printf("%d,",score[i]);
        else
        printf("%d",score[i]);
    }
}
int main()

    int score[10]={67,98,75,63,82,79,81,91,66,84};
    say1(score);
    say2(score);
    say3(score);
    say4(score);
    say5(score);
    return 0;
}

正在回答

2 回答

你完全可以先排序啊,降序排序后score[0]最大,score[9]最小;

然后你不是算出了总分吗,总分除以10 就是平均值了,两个函数就可以解决的问题,没必要弄这么多个。

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

qq_盛夏晴空_suxJOY 提问者

没办法,作业要求。。。
2018-12-06 回复 有任何疑惑可以回复我~

建议写一下函数声明吧

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

举报

0/150
提交
取消

求看一下我这样写的缺点

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