1. C语言:输入全班同学期末考试各门成绩(包括学号),求出每位同学的总分及平均分,按总
#include<stdio.h>
#include<string.h>
intmain()
{
chara[100][20],d[20];//学号
intn,m,b[100][10],s[100],i,j,t;//n为人数,m为学科数,b为每人每科的成绩,s为每人总分
floatc[100];//每人平均分
scanf("%d%d",&n,&m);//输入人数,学科数
for(i=0;i<n;i++)
{
s[i]=0;
scanf("%s",a[i]);//输入学号
for(j=0;j<m;j++)
{
scanf("%d",&b[i][j]);//输入成绩
s[i]=s[i]+b[i][j];//同时计算总分
}
c[i]=s[i]*1.0/m;//平均分
}
for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
{
if(s[i]<s[j])//排名
{
t=s[i];
s[i]=s[j];
s[j]=t;
strcpy(d,a[i]);
strcpy(a[i],a[j]);
strcpy(a[j],d);
}
if(s[i]==s[j])//分数相同根据学号排名
{
if(strcmp(a[i],a[j])>0)
{
strcpy(d,a[i]);
strcpy(a[i],a[j]);
strcpy(a[j],d);
}
}
}
}
for(i=0;i<n;i++)
{
printf("%d %s %d %.2f ",i+1,a[i],s[i],c[i]);//排名学号总分平均分
}
}
2. 求某课全班的平均分,用C语言流程图表示该算法
#include
<stdio.h>
main()
{
double
grade[200];
double
sum,avg,temp;
int
count,i,n;
i=0;
count=0;
sum=0;
printf("请依次输入每个同学的成绩,输入-1结束\n");
scanf("%lf",&temp);
while(temp!=-1)
{
grade[i++]=temp;
count++;
sum=sum+temp;
scanf("%lf",&temp);
}
avg=sum/count;
n=0;
for(i=0;i<count;i++)
{
if(grade[i]>=avg)
n++;
}
printf("全班平均分%.2lf,成绩大于等于平均分的人有%d人\n",avg,n);
}