c语言用数组编写,输入十个学生成绩求出平均分,并统计高于平均分的人数

 我来答
彬彬有礼No2
2011-12-09 · TA获得超过1877个赞
知道小有建树答主
回答量:759
采纳率:50%
帮助的人:636万
展开全部
#include "stdio.h"
int main()
{
int a[10],i,sum=0,count=0;
double ave;
printf("请输入十个学生的成绩\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<10;i++)
sum+=a[i];
ave=(double)sum/10;
for(i=0;i<10;i++)
if(a[i]>ave)
count++;
printf("平均分:%f\n高于平均分: %d\n",ave,count);
return 0;
}
luckye1988
2011-12-08 · TA获得超过165个赞
知道小有建树答主
回答量:123
采纳率:0%
帮助的人:152万
展开全部
int main(int argc, char* argv[])
{
float score[10] = {0.0f};

for (int i = 0; i < 10; i++)
{
printf("input %d student's score:", i+1);
scanf("%f", &score[i]);
}

float sum = 0.0f;
for (int j = 0; j < 10; j++)
{
sum += score[j];
}

float aver = sum / 10.0f;
int count = 0;

for (int k = 0; k < 10; k++)
{
if (score[k] >= aver)
{
count++;
}
}

printf("Average score is %f\n", aver);
printf("%d scores higher than average score!\n", count);

return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jkdplm
2011-12-08
知道答主
回答量:6
采纳率:0%
帮助的人:1万
展开全部
一种比较笨的方法
#include<stdio.h>
int main()
{
float a[10],i,sum=0,average; /*输入十个学生成绩求出平均分,并统计高于平均分的人数*/
int b;
for(i=0;i<10;i++)
{
scanf("%f",&a[i]);
}
for(i=0;i<10;i++)
{
sum=sum+a[i];
}
averge=sum/10; /*平均分*/
b=0;
for(i=0;i<10;i++) /*高于平均分的人数*/
{
if(a[i]>average)
++b;
}
printf("average=%f\n",average);
printf("%d",b);
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
千河灵0D
2011-12-08
知道答主
回答量:9
采纳率:0%
帮助的人:5.8万
展开全部
int Sort_by_rank(struct student stud[],int n)
{ int i,j;
long total=0;
struct student t;
for(i=0;i<n;i++)
{stud[i].sum=stud[i].sc.chinese+stud[i].sc.math+stud[i].sc.english+stud[i].sc.computer; } /*计算各个学生总分*/
for(i=0;i<n;i++)
{ stud[i].rank=i+1; /*写入个各学生名次*/
total+=stud[i].sum; /*计算全部学生总成绩*/
}
return total;
}
void Print(struct student stud[])
{ long total;int i;
total=Sort_by_rank(stud,n);
printf(" -----------------------------------------------------------------------------\n");
printf(" 学号 \t姓名 \t性别\t年龄\t语文\t数学\t英语\t计算机\t 名次\n");
for(i=0;i<n;i++){
if(stud[i].sum>=total/n){
printf(GSKZ,stud[i].num,stud[i].name,stud[i].sex,stud[i].age,stud[i].sc.chinese,stud[i].sc.math,stud[i].sc.english,stud[i].sc.computer,stud[i].rank);//GSKZ 为输出格式 为:"%d %s %s%d %d %d %d %d "
system("pause");
}
//调用Print函数即可
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
terranlong
2011-12-08 · TA获得超过7294个赞
知道大有可为答主
回答量:2660
采纳率:66%
帮助的人:4093万
展开全部
#include <stdio.h>
void main()
{
int i, arr[10];
int sum = 0;
int count = 0;
double avg = 0;
for (i = 0; i != 10; ++i)
{
scanf("%d", &arr[i]);
sum += arr[i];
}
avg = sum / 10.0;
for (i = 0; i != 10; ++i)
{
if (arr[i] > avg)
{
count++;
}
}
printf("平均分:%lf\n", avg);
printf("人数:%d\n", count);
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式