求看一下我這樣寫的缺點(diǎn)
#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;
}
2018-12-05
你完全可以先排序啊,降序排序后score[0]最大,score[9]最小;
然后你不是算出了總分嗎,總分除以10 就是平均值了,兩個(gè)函數(shù)就可以解決的問題,沒必要弄這么多個(gè)。
2018-11-17
建議寫一下函數(shù)聲明吧