《数据结构》课程设计指导书答案.doc

上传人:壹****1 文档编号:563053754 上传时间:2023-07-08 格式:DOC 页数:18 大小:98KB
返回 下载 相关 举报
《数据结构》课程设计指导书答案.doc_第1页
第1页 / 共18页
《数据结构》课程设计指导书答案.doc_第2页
第2页 / 共18页
《数据结构》课程设计指导书答案.doc_第3页
第3页 / 共18页
《数据结构》课程设计指导书答案.doc_第4页
第4页 / 共18页
《数据结构》课程设计指导书答案.doc_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《《数据结构》课程设计指导书答案.doc》由会员分享,可在线阅读,更多相关《《数据结构》课程设计指导书答案.doc(18页珍藏版)》请在金锄头文库上搜索。

1、1运动会分数统计#include #include #include #includeusing namespace std; int n; /n个学校 int m; /m个男子项目 int w; /w个女子项目 struct pro /表示项目的结构体 string name; /项目名称 int snum6; /前5名学校的编号 p21; struct school /表示学校的结构体 int num; string name; /学校名称 int score; /学校总分 int male; /男子总分 int female; /女子总分 sch21; int integral5=;/前

2、五名得分 void input() int i,j,y,x; printf(输入学校数目:); y=0; while(1) scanf(%d,&n); if(n=1&n=20)y=1; if(y)break; else printf(输入数据有误,请重新输入:); for(i=1;ischi.name; schi.score=0; schi.female=0; schi.male=0; schi.num=i; printf(输入男子项目数和女子项目数:); y=0; while(1) scanf(%d%d,&m,&w); if(m=1&w=1)y=1; if(y)break; else pri

3、ntf(输入数据有误,请重新输入:); for(i=1;ipi.name; printf(输入第%d个项目的前5名的学校编号:n,i); for(j=1;j=1&x=20)y=1; if(y)break; else printf(输入数据有误,请重新输入:); pi.snumj=x; schx.score+=integralj-1; if(i=m)schx.male+=integralj-1; else schx.female+=integralj-1; void print(int i) coutschi.numsetw(10)schi.namesetw(8)schi.scoresetw(9

4、) schi.malesetw(10)schi.femaleendl; void bianhao() /按编号排序 int i,j; school t; for(i=1;in;i+) for(j=i;jschj.num) printf(n按编号排列:n); printf(编号 学校名称 总分 男子总分 女子总分n); for(i=1;i=n;i+) print(i); void zongfen() /按学校总分排序 int i,j; school t; for(i=1;in;i+) for(j=i;j=n;j+) if(schi.scoreschj.score) printf(n按学校总分排列

5、:n); printf(编号 学校名称 总分 男子总分 女子总分n); for(i=1;i=n;i+) print(i); ofstream fout;fout.open(运动会分数统计.txt); fout编号 学校名称 总分 男子总分 女子总分endl;for(i=1;i=n;i+) foutschi.numsetw(13)schi.namesetw(8)schi.scoresetw(9) schi.malesetw(10)schi.femaleendl; fout.close(); void malezf() /按学校男总分排序 int i,j; school t; for(i=1;in

6、;i+) for(j=i;j=n;j+) if(schi.maleschj.male) printf(n按学校男子总分排列:n); printf(编号 学校名称 总分 男子总分 女子总分n); for(i=1;i=n;i+) print(i); void femalezf() /按学校女总分排序 int i,j; school t; for(i=1;in;i+) for(j=i;j=n;j+) if(schi.femaleschj.female) printf(n按学校女子总分排列:n); printf(编号 学校名称 总分 男子总分 女子总分n); for(i=1;i=n;i+) print

7、(i); cout=1&s=n)y=1; if(y)break; else printf(输入数据有误,请重新输入:); printf(该学校相关信息:n); printf(编号 学校名称 总分 男子总分 女子总分n); for(i=1;i=n;i+) if(schi.num=s) print(i); break; cout=1&s=n)y=1; if(y)break; else printf(输入数据有误,请重新输入:); coutps.name前5名学校编号及名称为:endl; printf(名次 编号 学校名称n); for(i=1;i=5;i+) cout i ps.snumisetw

8、(12)sch ps.snumi .nameendl; coutendl; void solve() /菜单函数 int z; while(1) printf(n选择您需要的操作(选择序号):n); printf(1.按学校编号排序输出n); printf(2.按学校总分排序输出n); printf(3.按学校男总分排序输出n); printf(4.按学校女总分排序输出n); printf(5.查询某个学校成绩n); printf(6.查询某个项目成绩n); printf(7.结束nn); scanf(%d,&z); if(z=1)bianhao(); if(z=2)zongfen(); if

9、(z=3)malezf(); if(z=4)femalezf(); if(z=5)cxsch(); if(z=6)cxxm(); if(z=7)break; int main() /主函数 input(); solve(); return 0; 2一元多项式计算(升幂建立,指数降序输出)#include#include#defineLENsizeof(structPolynomial)structPolynomialfloatcoef;longexpn;structPolynomial*next;intn=0,sum=0;intcmp(longa,longb)intflag;if(ab)fla

10、g=1;elseflag=0;returnflag;structPolynomial*creat(void)structPolynomial*head;structPolynomial*p1,*p2;p1=p2=(structPolynomial*)malloc(LEN);scanf(%f,%ld,&p1-coef,&p1-expn);head=NULL;while(p1-coef!=0)n+;if(n=1)head=p1;elsep2-next=p1;p2=p1;p1=(structPolynomial*)malloc(LEN);scanf(%f,%ld,&p1-coef,&p1-expn)

11、;p2-next=NULL;returnhead;structPolynomial*add(structPolynomial*ah,structPolynomial*bh)structPolynomial*pa1,*pa2,*pb1,*pb2;floatsumcoef;pa1=ah;pb1=bh;pa2=pa1-next;pb2=pb1-next;while(pa1&pb1)switch(cmp(pa2-expn,pb2-expn)case-1:pb2-next=pa2;pa2-next=pb2-next;pb2=pb2-next;pa2=pa1-next;break;case0:sumcoef=pa1-coef+pb1-coef;if(sumcoef!=0.0)pa1-coef=sumcoef;break;case1:pb1-next=pa2;pa2-next=pb2;pa2=pa1-next-next;pb2=pb2

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号