求看一下我这样写的缺点

来源:6-12 综合练习

qq_盛夏晴空_suxJOY

2018-11-17 19:09

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

  • 慕九州6288840
    2018-12-05 10:32:16

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

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

    qq_盛夏晴...

    没办法,作业要求。。。

    2018-12-06 17:16:06

    共 1 条回复 >

  • 慕雪1649311
    2018-11-17 20:29:09

    建议写一下函数声明吧

C语言入门

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

926027 学习 · 20793 问题

查看课程

相似问题