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);
}