从键盘上输入10个学生成绩,求平均分以及高于平均分的学生的成绩

如题所述

#include<stdio.h>

void main()

{

 int i,a[10],sum=0;

 float avg;

 printf("please input 10 numbers.\n");

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

 {

  scanf("%d",&a[i]);

  sum+=a[i];

 }

 avg=sum*1.0/10;

 printf("平均成绩为:%.1f\n",avg);

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

 {

  if(a[i] >= avg)

  {

   printf("高于平均分成绩的分有:%d\n",a[i]);

  }

 }

}

温馨提示:内容为网友见解,仅供参考
第1个回答  2019-07-15
1.指针
#include<stdio.h>
#define N 10
main()
{int i,num=0,max=0;float s=0,v,score[N],*p;
for(p=score,i=0;i<N;i++)
{scanf("%f",p+i);
if(*(p+i)>=score[max])
max=i;
s+=*(p+i);
}
v=s/N;
for(p=score,i=0;i<N;i++)
if(*(p+i)>v)
num++;
printf("average=%.1f,num=%d,%.1f\n",v,num,score[max]);
}
2.

#include<stdio.h>
#define N 8
main()
{int i,max=0,g=0,s=0,a[N];double v;
for(i=0;i<N;i++)
{scanf("%d",a+i);s=s+a[i];if(a[i]>=a[max])max=i;}
v=s/N;
for(i=1;i<=N;i++)
if(a[i]>v)
g++;
printf("大于平均成绩%.2lf有%d人其中最高分%d",v,g,a[max]);
}
相似回答