#include?<stdio.h>
int?sum(int?score[]){
????int?i,sum=0;
????for(i=0;i<10;i++){
????????sum+=score[i];
????}
????printf("總分:%d\n",sum);
????float?avg?=?sum/10.0;
????printf("平均分:%f\n",avg);
}
int?max(int?score[]){
????int?i,temp;????
????for(i=0;i<9;i++){
????????if(score[i]>score[i+1]){
????????????temp?=?score[i];
????????????score[i]?=?score[i+1];
????????????score[i+1]?=?temp;
????????}
????}
????printf("最高分:%d\n",temp);
}
int?min(int?score[]){
????int?i,temp;????
????for(i=0;i<9;i++){
????????if(score[i]<score[i+1]){
????????????temp?=?score[i];???????????
????????????score[i]?=?score[i+1];
????????????score[i+1]?=?temp;????????????
????????}
????}
????printf("最低分:%d\n",temp);
}
int?rsort(int?score[]){
????int?i,j,temp;??
????for(i=10;i>=0;i--){
????????for(j=0;j<i;j++){
????????????if(score[j]<score[j+1]){
????????????????temp?=?score[j];???????????
????????????????score[j]?=?score[j+1];
????????????????score[j+1]?=?temp;????????????
????????????}?
????????}
????}
????for(i=0;i<9;i++){
????????printf("%d,",score[i]);
????}
????
}
int?main()
{
????int?score[10]={67,98,75,63,82,79,81,91,66,84};
????sum(score);
????max(score);
????min(score);
????rsort(score);
????return?0;
}
2015-02-28
我也說個注意點:可能是你的筆誤吧。冒泡排序的第一參數(shù)設(shè)置從10開始是不合理的。因為這樣j的第一個值為9而a[j+1]造成訪問未定義的空間??赡茉斐蓃e。
2015-02-28
思路不錯,但是注意一點:每個函數(shù)的返回值是void類型,還有就是排序的那個函數(shù)少輸出了一個。