c++编程求助~计算最高分最低分和平均分

某班有N个学生,分别录入他们的数学成绩,并计算数学成绩的最高分,最低分和平均分。
提示:用数组保存成绩,使用循环录入成绩并计算最高分、最低分和平均分。
运行结果示例如下图所示

程序如下:结果见附图:

#include"stdio.h"

const int N=10;

void main()

{

float student[N];

int i,add=0;

float  max,min,average;

for(i=0;i<N;i++)

{

 printf("请输入第%d个学生的数学成绩(共10人):",i+1);

    scanf("%f",&student[i]);

}

max=min=student[0];

for(i=0;i<N;i++)

 if(student[i]>max)max=student[i];

    if(student[i]<min)min=student[i];

    add+=student[i];

}

 average=add/(float)N;

 printf("这些学生成绩的最高、最低和平均分分别为:%2.0f\t%2.0f\t%2.1f",max,min,average);

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-12-10
#include<iostream>
using namespace std;
void main()
{
float a[10],max,min,ave,sum=0,temp;
int i,j;
for(i=0;i<10;i++)
{
cout<<"请输入第"<<i+1<<"个同学的数学成绩(共10个):";
cin>>a[i];
cout<<endl;
}
for(i=0;i<10;i++)
sum=sum+a[i];
for(i=0;i<10;i++)
{
for(j=i+1;j<10;j++)
{
if(a[i]>a[j])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
min=a[0];
max=a[9];
ave=sum/10;
cout<<"最高分为:"<<max<<endl;
cout<<"最低分为:"<<min<<endl;
cout<<"平均分为:"<<ave<<endl;
}
第2个回答  2010-12-10
#include <stdio.h>
void main()
{
int a[200],sum,max,min,i,n;
printf("请输入成绩的个数:");
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
sum=a[0];
max=a[0];
min=a[0];
for(i=1;i<n;i++)
{
if(max<a[i])
max=a[i];
if(min>a[i])
min=a[i];
sum+=a[i];
}
printf("这门课程的平均分数为:%d\n",sum/n);
printf("这门课程的最高分为:%d\n",max);
printf("这门课程的最低分为:%d\n",min);
}

这样就OK了
第3个回答  2010-12-10
#include<iostream.h>
void main()
{
int a[100],N,i,max,min;
float pingjun,he;
cout<<''请输入学生总数N:";
cin>>N;
while(N<=0||N>100)
{
cout<<"学生人数错误!请重新输入。"<<endl;
cout<<''请输入学生总数N:"l;
cin>>N;
}
for(i=0;i<N;i++)
{
cout<<"请输入第"<<i+1<<"个学生的成绩数学成绩(共"<<N<<"个):";
cin>>a[i];
}
max=a[0];
min=a[0];
for(i=0;i<N;i++)
{
if(max<a[i])
max=a[i];
if(min>a[i])
min=a[i];
}
he=a[0];
for(i=1;i<N;i++)
he=he+a[i];
pingjun=he/N;
cout<<"这些学生的最高分、最低分与平均分分别是:"<<max<<" "<<min<<" "<<pingjun<<endl;
}