简单C语言程序设计!!急急急!!快

功能:统计出若干个学生的平均成绩,最高分以及得最高
分的人数。
例如:输入10名学生的成绩分别为92,87,68,56,92,
84,67,75,92,66,则输出平均成绩为77.9,
最高分为92,得最高分的人数为3人。

------------------------------------------------*/

#include <stdio.h>
void wwjt();

float Max=0;
int J=0;

float fun(float array[],int n)
{

/**********Program**********/

/********** End **********/

}

main( )
{
float a[10],ave;
int i=0;
for(i=0;i<10;i++)
scanf("%f",&a[i]);
ave=fun(a,10);
printf("ave=%f\n",ave);
printf("max=%f\n",Max);
printf("Total:%d\n",J);
wwjt();
}

void wwjt()
{
FILE *IN,*OUT;
float iIN[10],iOUT;
int iCOUNT;
IN=fopen("in.dat","r");
if(IN==NULL)
{
printf("Please Verify The Currernt Dir..it May Be Changed");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{
printf("Please Verify The Current Dir.. it May Be Changed");
}
for(iCOUNT=0;iCOUNT<10;iCOUNT++)
fscanf(IN,"%f",&iIN[iCOUNT]);
iOUT=fun(iIN,10);
fprintf(OUT,"%f %f\n",iOUT,Max);
fclose(IN);
fclose(OUT);
}

。。。

你看HI消息啊 我给你发了

*
功能:统计出若干个学生的平均成绩,最高分以及得最高
分的人数。
例如:输入10名学生的成绩分别为92,87,68,56,92,
84,67,75,92,66,则输出平均成绩为77.9,
最高分为92,得最高分的人数为3人。

------------------------------------------------
*/

#include <stdio.h>
void wwjt();
float Max=0;
int J=0;

float fun(float array[],int n)
{

/**********Program**********/
int i;
float total=0.0,avg=0.0;
Max=array[0];
for(i=0;i<n;i++)
{
total+=array[i];
if(array[i]>Max)Max=array[i];
}
avg=total/n;
for(i=0;i<n;i++)
if(array[i]==Max)
J++;
return avg;
/********** End **********/

}

void main( )
{
float a[10],ave;
int i=0;
for(i=0;i<10;i++)
scanf("%f",&a[i]);
ave=fun(a,10);
printf("ave=%f\n",ave);
printf("max=%f\n",Max);
printf("Total:%d\n",J);
wwjt();
}

void wwjt()
{
FILE *IN,*OUT;
float iIN[10],iOUT;
int iCOUNT;
IN=fopen("in.dat","r");
if(IN==NULL)
{
printf("Please Verify The Currernt Dir..it May Be Changed");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{
printf("Please Verify The Current Dir.. it May Be Changed");
}
for(iCOUNT=0;iCOUNT<10;iCOUNT++)
fscanf(IN,"%f",&iIN[iCOUNT]);
iOUT=fun(iIN,10);
fprintf(OUT,"%f %f\n",iOUT,Max);
fclose(IN);
fclose(OUT);
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-07-03
/*
功能:统计出若干个学生的平均成绩,最高分以及得最高
分的人数。
例如:输入10名学生的成绩分别为92,87,68,56,92,
84,67,75,92,66,则输出平均成绩为77.9,
最高分为92,得最高分的人数为3人。

------------------------------------------------
*/

#include <stdio.h>
void wwjt();
float Max=0;
int J=0;

float fun(float array[],int n)
{

/**********Program**********/
int i;
float total=0.0,avg=0.0;
Max=array[0];
for(i=0;i<n;i++)
{
total+=array[i];
if(array[i]>Max)Max=array[i];
}
avg=total/n;
for(i=0;i<n;i++)
if(array[i]==Max)
J++;
return avg;
/********** End **********/

}

void main( )
{
float a[10],ave;
int i=0;
for(i=0;i<10;i++)
scanf("%f",&a[i]);
ave=fun(a,10);
printf("ave=%f\n",ave);
printf("max=%f\n",Max);
printf("Total:%d\n",J);
wwjt();
}

void wwjt()
{
FILE *IN,*OUT;
float iIN[10],iOUT;
int iCOUNT;
IN=fopen("in.dat","r");
if(IN==NULL)
{
printf("Please Verify The Currernt Dir..it May Be Changed");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{
printf("Please Verify The Current Dir.. it May Be Changed");
}
for(iCOUNT=0;iCOUNT<10;iCOUNT++)
fscanf(IN,"%f",&iIN[iCOUNT]);
iOUT=fun(iIN,10);
fprintf(OUT,"%f %f\n",iOUT,Max);
fclose(IN);
fclose(OUT);
}
运行结果:
92 87 68 56 92 84 67 75 92 66
ave=77.900002
max=92.000000
Total:3
Please Verify The Currernt Dir..it May Be ChangedPress any key to continue
第2个回答  2010-07-03
写的几个你需要的方法 拿去用就是了!

float ave(float array[],int n)//返回平均值
{

int i;
float sum=0;
for(i=0;i<n;i++)
sum+=array[i];
return (sum/n);

}

float max(float array[],int n)//返回最大值
{

int i;
float max;
for(i=0,max=array[i];i<n;i++)
if(max<array[i])max=array[i];
return max;

}

int max_n(float array[],int n)//返回最大值个数
{

int i;
int count=0;
float max;
for(i=0,max=array[i];i<n;i++)//先找到最大值
if(max<array[i])max=array[i];
for(i=0;i<n;i++)//统计个数
if(max==array[i])count++;
return count;

}
相似回答