成绩统计(顺序线性表)
来源:互联网 发布:音乐软件最好 编辑:程序博客网 时间:2024/06/01 09:56
描述
根据输入统计学生的平均分及各科平均分。
输入
第一行为学生的个数n及课程数m,第二行至m+1行为课程名,接下来为各学生的姓名及成绩,每个学生的信息占两行,第一行为学生的姓名,第二行为m个实数,表示学生各科成绩。
输出
输出包含2n+2m行,前2n行为学生的平均分,其中第一行为学生姓名,第二行为该生的平均分,后2m行为各课程的平均分,其中第一行为课程名,第二行为对应的平均分。(保留两位小数)
样例输入
3 2
english
computer
zhangshan
87.5 98
lisi
80 78
wangwu
60 59
english
computer
zhangshan
87.5 98
lisi
80 78
wangwu
60 59
样例输出
zhangshan
92.75
lisi
79.00
wangwu
59.50
english
75.83
computer
78.33
92.75
lisi
79.00
wangwu
59.50
english
75.83
computer
78.33
#include<iostream>#include<cstring>#include<cstdio>using namespace std;string s[10];struct node{ double a[20]; string xm;};struct list{ node *elem; int length; double b[20];};void initializer_list(list &l,int n){ l.elem=new node[n]; l.length=0; memset(l.b,0,sizeof(l.b));}void create(list &l,int m){ double s=0; int i; cin>>l.elem[l.length].xm; for(i=0;i<m;i++) { cin>>l.elem[l.length].a[i]; s+=l.elem[l.length].a[i]; l.b[i]=l.b[i]+l.elem[l.length].a[i]; } l.elem[l.length].a[i]=s/m; l.length++;}int main(){ list l; int n,m,i; while(cin>>n>>m) { for(i=0;i<m;i++)cin>>s[i]; initializer_list(l,n); for(i=0;i<n;i++) create(l,m); for(i=0;i<n;i++) { cout<<l.elem[i].xm<<endl; printf("%.2lf\n",l.elem[i].a[m]); } for(i=0;i<m;i++) { cout<<s[i]<<endl; printf("%.2lf\n",l.b[i]/n); } } return 0;}
- 成绩统计(顺序线性表)
- 成绩统计(顺序线性表)
- 算法-----线性顺序统计
- (p120)线性时间找到顺序统计量
- 学生成绩(顺序表)
- 创建学生成绩顺序表---
- 终于完成~《数据结构》实验二:线性表的实验(实现一个N个学生成绩的顺序表)
- 统计成绩
- 成绩统计
- 成绩统计
- 统计成绩
- 成绩统计
- 成绩统计
- 成绩统计
- 成绩统计
- 线性表-顺序表
- 线性表--- 顺序表
- 线性表顺序表
- GRAILS 对象关系映射(GORM)
- 区分innerHeight与clientHeight、innerWidth与clientWidth、scrollLeft与pageXOffset等属性
- 我要一个新的开始
- CSS3属性之二:box-shadow
- IE6/IE7下:inline-block解决方案
- 成绩统计(顺序线性表)
- 解决ie6、ie7下float为right换行的情况
- CSS - firefox与IE透明度(opacity)设置区别
- Node.js教程
- CentOS 安装中文语言包以及输入法
- centos 下安装 node.js
- linux 下的快捷键(RHEL/CentOS)
- /etc/profile
- centos 安装 jdk1.7