以下是引用nwpu063417在2007-8-21 10:57:55的发言:
不是很难,我写了一个,参考一下吧:
#include
#define N 3
struct student
{
int num;
char name[20];
int age;
double score;
}stu[N], *p;
int main( void )
{
double aveAge = 0, aveScore = 0;
int scoreCnt[5] = {0};
int i;
for(p = stu; p < stu+N; p++)
scanf("%d%s%d%lf", &p->num, p->name, &p->age, &p->score);
/*计算平均年龄和平均成绩*/
for(p = stu; p < stu+N; p++)
{
aveAge += p->age;
aveScore += p->score;
}
aveAge = aveAge/N;
aveScore = aveScore/N;
printf("平均年龄:%lf\t平均成绩:%lf\n", aveAge, aveScore);
/*统计各个分数段的人数,各成绩段学生人数的分布情况类似*/
for(p = stu; p < stu+N; p++)
{
if(p->score >= 90)
scoreCnt[0]++;
else if(p->score >= 80)
scoreCnt[1]++;
else if(p->score >= 70)
scoreCnt[2]++;
else if(p->score >= 60)
scoreCnt[3]++;
else
scoreCnt[4]++;
}
for(i = 0; i < 5; i++)
{
if(i < 4)
printf("%d分以上的人数:\t%d\n", 90-10*i,scoreCnt[i]);
else
printf("60分以下的人数:\t%d\n",scoreCnt[i]);
}
return 0;
}