当前位置:编程学习 > C/C++ >>

C语言编程高手进来帮忙编个程序啊???

编写一个函数,这个函数同时求出10个学生成绩的最高分、最低分、平均分以及超过平均分的人数。急急急啊!!!!!!
追问:梁伟,滚远点
答案:
#include <stdio.h>
#define STU 10 //学生人数
int Low(int a,int b);
int High(int a,int b);

main()
{
int fen[STU];//用于保存输入的成绩
int i;//用于循环
int head=0;//用于保存总分
int low=-1,high=0;//用于保存最低分值和最高分值
int mean=0,meanstudent=0;//用于保存平均分和平均以上的学生人数
for(i=0;i<STU;i++)
{
printf("请输入第%d个学生的成绩!\n",i+1);
scanf("%d",&fen[i]);
}
for(i=0;i<STU;i++)
{
head+=fen[i];
high=High(high,fen[i]);
low=Low(low,fen[i]);
}
printf("最低分为%d分,最高分为%d分!\n",low,high);
mean=head/STU;
for(i=0;i<STU;i++)
{
if(fen[i]>mean)
{
meanstudent++;
}
}
printf("平均分为%d,平均分以上的人数为%d个!\n",mean,meanstudent);

}

int Low(int a,int b)
{
if(a==-1)
{
return b;
}
if(a>b)
{
return b;
}
else
{
return a;
}
}

int High(int a,int b)
{
if(a>b)
{
return a;
}
else
{
return b;
}
}
main()
{
int a[10],i,j;//存储十个学生的成绩,i,j是循环变量
int sum=0; //总成绩
int max,min;
double avg=0; //平均成绩
int num=o; //超过平均分的人数
priintf("请输入10个学生的成绩:\n");
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
sum=sum+a[i];
/*求最高最、低分*/
max=a[0];min=a[0];
if(max>a[i])
max=a[i];
if(min<a[i])
min=a[i];
}
avg=sum/10; //平均成绩计算
printf("最高分为:%d\n",max);
printf("最底分为:%d\n",min);
printf("平均分为:%f\n",avg);
/*计算超过平均分的人数*/
for(j=0;j<10;j++)
{
if(a[j]>avg)
num++;
}
printf("超过平均分的人数有:%d\n",num);
}
bool max(float *psource, int nCount, float &fmax)
{
if((!psource) || (nCount <= 0))
return false;
fmax = psource[0];
for(int i=0; i<nCount; i++)
{
if(fmax < psource[i])
fmax = psource[i];
}
return true;
}
//其他雷同
void calc(float *score, int n)
{
int i, count = 0;
float max = *score, min = *score;
float sum = 0;
for (i = 0; i < n; i ++)
{
sum += *(score + i);
if (*(score + i) > max) max = *(score + i);
if (*(score + i) < min) min = *(score + i);
}
sum /= n;
for (i = 0; i < n; i ++)
{
if (*(score + i) > sum) count ++;
}
printf("最高分:%f,最低分:%f,平均分:%f,超过平均分的人数:%d", max, min, sum, count);
}
function student(float score[10]) {
float aver = 0, highest = -1, lowest = -1;
int i, uppon_aver = 0;
for (i = 0; i < 10; i++) {
aver += score[i];
highest = highest == -1 ? score[i] : (highest > score[i] ? highest : score[i]);
lowest = lowest == -1 ? score[i] : (lowest < score[i] ? lowest : score[i]);
}
aver /= 10;
for (i = 0; i < 10; i++) if (score[i] > aver) uppon_aver++;
printf("highest: %f, lowest: %f, average: %.2f, uppon average: %d", highest, lowest, aver, uppon_aver);
}
#include"stdio.h"   /*输入学生成绩 算出最高分 最低分 平均分*/                                   
#define n 10
int main ( )
{
int i,rs=0;
float a[n],sum=0.0,max=0.0,min = 100.0,pj=0.0;

for (i = 0 ;i < n ;i++ )
{
printf ("input student %d achievement:",i+1) ; /*分别写入10个学生的成绩 并计算总分*/
scanf ("%f", &a[i]) ;
sum += a[i];
}
pj=sum/n ; /*计算平均分*/
for(i=0;i<10;i++)
{ if (max <a[i] ) /*判断最高分 最低分 超过平均分的人数
max = a[i];
if (min > a[i]) ;
min = a[i];
if(a[i]>pj)
rs++;
}

printf ("sum:%.1f\n", sum) ;
printf ("average:%.1f\n", pj) ; /*进行输出*/
printf ("max: %.1f\n", max) ;
printf ("min: %.1f\n", min) ;
printf (" renshu=%d\n",rs) ;
getch() ;
return ;
}
我不会,你教我啊
#include<stdio.h>
float PinJun(float a[])
{ float z,i,P;
z=0;
for(i=0;i<10;i++)
z=z+a[i];
P=z/10;
return P;
}
float max(float a[])
{ float i,Da;
Da=a[0];
for(i=0;i<10;i++)
{if(Da<a[i])
Da=a[i];}
return Da;
}
float min(float a[])
{ float i,x;
x=a[0];
for(i=0;i<10;i++)
{if(x>a[i])
x=a[i];}
return x;
}
float Ren(float a[])
{ float m=0,i,n;
n=PinJun(a);
for(i=0;i<10;i++)
{if(a[i]>n)
m++;}
return m;
}
main()
{ float i,p,da,xiao,ren,a[10];
for(i=0;i<10;i++)
scanf("%f",&a[i]);
p=PinJun(a);
da=max(a);
xiao=min(a);
ren=Ren(a);
printf("平均值%f\n最大值%f\n最小值%f\n超过平均分的人数%f",p,da,xiao,ren);
}

上一个:C语言程序设计,高分求答案啊!!!!!
下一个:怎么样才能更加的学好C语言和HTML

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,