有一个一维数组score,内放10个学生成绩,编写一个函数,求平均分,最高分,最低分,并编写主函数调用该函数

最好是亲自编译过,才写上去,谢谢!!

第1个回答  2008-04-25
为什么要一个函数??
三种功能就三个函数比较好吧
我试下帮你写个

#include<stdio.h>
#define MAX 10

void deal(int *a,int b)
{
int i;
int sum,max,min,temp;
min=max=sum=a[0];
for(i=1;i<b;i++)
{
temp=a[i];
if(temp<min) min=temp;
if(temp>max) max=temp;
sum+=temp;
}
printf("the max num is: %d\n",max);
printf("the min num is: %d\n",min);
printf("the average is: %d\n",sum/b);
}
void main()
{
int score[MAX]={23,43,23,14,34,45,15,14,22,56};
deal(score,MAX);
}

编译通过!!本回答被提问者采纳
第2个回答  2008-04-25
vC6.0测试通过

#include<stdio.h>

float jisuan(int i,float x[10]){
float maxtem=0,mintem=0,avgtem=0,sumtem=0;
if(i==1){
maxtem=x[0];
for(int j=1;j<10;j++){
if(maxtem<x[j])maxtem=x[j];
}
return maxtem;
}
if(i==2){
mintem=x[0];
for(int j=1;j<10;j++){
if(mintem>x[j])mintem=x[j];
}
return mintem;
}
if(i==3){
for(int j=0;j<10;j++){
sumtem+=x[j];
}
avgtem=sumtem/10;
return avgtem;
}
return 0;
}

int main(){
float score[10]={90,80,98,79,89,98,76,68,87,98};
float max=0,min=0,average=0;
max=jisuan(1,score);
min=jisuan(2,score);
average=jisuan(3,score);
printf("max=%.2f,min=%.2f,average=%.2f\n",max,min,average);
return 0;
}
相似回答