Warning: fopen(/www/wwwroot/www.wendadaohang.com/data/md5_content_title/78/78de28de143054a79baf4826e9498b65.txt): failed to open stream: No space left on device in /www/wwwroot/www.wendadaohang.com/inc/function.php on line 2468

Warning: flock() expects parameter 1 to be resource, bool given in /www/wwwroot/www.wendadaohang.com/inc/function.php on line 2469

Warning: fclose() expects parameter 1 to be resource, bool given in /www/wwwroot/www.wendadaohang.com/inc/function.php on line 2475
c语言:输入10个学生的成绩,求学生的平均成绩,并统计超过平均分数的学生人数。 - 77问答网

c语言:输入10个学生的成绩,求学生的平均成绩,并统计超过平均分数的学生人数。

如题所述

# include <stdio.h>

void main()
{
int fun(int score[],int m,int below[]);
int score[100],m,below[100];
int i=0;
char c;
printf(" 请输入学生成绩,回车后结束:\n");
do
{
scanf("%d",&score[i]);
i++;
c=getchar();
if(c=='\n')
break;
}
while(1);

m=fun(score,i,below);
printf("高于平均分的人数有%d人\n", m);
for(i=0;i<m;i++)
printf("%d\t",below[i]);

getchar();
}
int fun(int score[],int m,int below[])
{
int i,k=0;
int aver=0;
for(i=0;i<m;i++)
aver+=score[i];
printf("总分:%d",aver);
printf(" \n");
aver/=m;
printf("平均分:%d\n",aver);
for(i=0;i<m;i++)
if(score[i]>aver)
{
below[k]=score[i];
k++;
}
return k;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-04-14
#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);
}本回答被网友采纳
第2个回答  2017-07-25
#include <stdio.h>
#define N 10
int main()
{    
    int i,n = 0,s[N];
    float av = 0.0;
    for(i = 0; i < N; ++i){
        printf("Input No.%d score:",i + 1);
        scanf("%d",&s[i]);
        av += &s[i];
    }
    av /= N;
    for(i = 0; i < N; ++i){
        if( s[i] > av ) ++n;
    }
    printf("av score: %f\n",av);
    printf("> av score num: %d\n",n);
    return 0;
}

第3个回答  2012-04-14
#include<stdio.h>
int main()
{
int i,num=0,s[11]={0};
for(i=1;i<=10;i++)
{
scanf("%d",&s[i]);
s[0]+=s[i];
}
s[0]=s[0]/10;
for(i=1;i<=10;i++)
if(s[i]>s[0]) num++;
printf("%d\n",num);
return 0;
}
相似回答