c语言:输入10个学生的成绩,求学生的平均成绩,并统计超过平均分数的学生人数?
1个回答
展开全部
#include <stdio.h>
#include <malloc.h>
int max,min,k=0; float aver=0;
void f(int *p1,int *p0,int n)
{
int i;p1=p0; float s=0;
for(i=0;i<n;i++) s+=*p1++;
aver=s/n;
max=0;min=100;p1=p0;
for(i=0;i<n;i++) {if(*p1>max) max=*p1;p1++;} p1=p0;
for(i=0;i<n;i++) {if(*p1<min) min=*p1;p1++;} p1=p0;
for(i=0;i<n;i++) {if(*p1>aver) k++ ;p1++;} p1=p0;
}
void main()
{
int *p,n,i;
printf("请输入班级总人数:\n") ;
scanf("%d",&n);
p=(int*)malloc(n*sizeof(int));
if(!p) return;
int *p0;p0=p;
printf("请在此输入各学生成绩:\n");
for(i=0;i<n;i++) scanf("%d",p++);
f(p,p0,n);
printf("平均分数:%3f\n",aver);
printf("最高分:%3d\n",max);
printf("最低分:%3d\n",min);
printf("超过平均分的人数:%3d\n",k);
free(p);
}
#include <malloc.h>
int max,min,k=0; float aver=0;
void f(int *p1,int *p0,int n)
{
int i;p1=p0; float s=0;
for(i=0;i<n;i++) s+=*p1++;
aver=s/n;
max=0;min=100;p1=p0;
for(i=0;i<n;i++) {if(*p1>max) max=*p1;p1++;} p1=p0;
for(i=0;i<n;i++) {if(*p1<min) min=*p1;p1++;} p1=p0;
for(i=0;i<n;i++) {if(*p1>aver) k++ ;p1++;} p1=p0;
}
void main()
{
int *p,n,i;
printf("请输入班级总人数:\n") ;
scanf("%d",&n);
p=(int*)malloc(n*sizeof(int));
if(!p) return;
int *p0;p0=p;
printf("请在此输入各学生成绩:\n");
for(i=0;i<n;i++) scanf("%d",p++);
f(p,p0,n);
printf("平均分数:%3f\n",aver);
printf("最高分:%3d\n",max);
printf("最低分:%3d\n",min);
printf("超过平均分的人数:%3d\n",k);
free(p);
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询