成绩系统之平均成绩

题目描述
陈老师布置同学们完成一个小型的成绩管理系统,现在希望你设计其中的一个求平均值的模块。已知有n个学生,每个学生信息包含学号、姓名、性别、3门课程成绩,现在请你设计函数,完成对每个学生3门课程求平均,并输出相应信息。

输入要求
先输入一个整数n表示有n个学生信息。(假设学生最多有50人)

接着输入这n个学生的学号、姓名(不超过20个字符,可能带空格)、性别、3门课程成绩。

输出要求
输出每个学生的学号、姓名、3门课程成绩以及平均成绩(保留1位小数)。

输入样例
2
15001 Peter Li
m 90 91 92
15002 Susan Wang
f 81 82 83

输出样例
—Student Information—
15001 Peter Li 90 91 92 91.0
15002 Susan Wang 81 82 83 82.0

#include<stdio.h>
typedef struct student
{	int ID;
	char Name[20];
	char Gender;
	int score[3];
	double ave;
}STU;


void add(STU *p,int size);     //函数,实现学生的信息输入
void average(STU *p,int size);  //函数,求学生平均成绩
void disp(STU *p,int size);    //函数,实现学生的信息输出

int main()
{
   STU s[50];
	int n;
	scanf("%d",&n);
	add(s,n);    
	average(s,n);
	disp(s,n);
	return 0;
}



 void add(STU *p,int size)
 {int i;
for(i=0;i<size;i++,p++)
 {scanf("%d",&(*p).ID);
 gets((*p).Name);
 scanf("%c",&(*p).Gender);
 scanf("%d %d %d",&(*p).score[0],&(*p).score[1],&(*p).score[2]);}
  }  //设计函数完成信息输入

void average(STU *p,int size)
   {int i;
	   for(i=0;i<size;i++,p++)
	   (*p).ave=((*p).score[0]+(*p).score[1]+(*p).score[2])/3.0;
   }       //设计函数求每个学生的平均分
void disp(STU *p,int size)
{
    int i,j;

	printf("---Student Information---\n");
	for(i=0;i<size;i++)
	{
	printf("%d ",p->ID);
	printf("%-20s ",p->Name);
	for(j=0;j<3;j++)
		printf("%d ",p->score[j]);
	printf("%.1lf ",p->ave);
	printf("\n");
	p++;
	}
  }  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值