实验14结构体-答案.doc

实验14结构体-答案.doc

ID:57417604

大小:71.00 KB

页数:14页

时间:2020-08-16

实验14结构体-答案.doc_第1页
实验14结构体-答案.doc_第2页
实验14结构体-答案.doc_第3页
实验14结构体-答案.doc_第4页
实验14结构体-答案.doc_第5页
资源描述:

《实验14结构体-答案.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验14结构体[实验目的]1.掌握结构体和结构体数组的概念、定义及存储2.掌握结构体和结构体数组的基本操作及应用[DIY]1、调试下列程序(下列各程序中存在一些问题,通过调试发现问题,并加以修正,使其实现预期目标)[1.1]下列程序的功能为:应用结构体求多项式的值。多项式:anxn+an-1xn-1+an-2xn-2+…+a1x+a0,请纠正程序中存在的错误,使程序实现其功能。答案#include#includestructPoly{floata;/*系数*/intn;

2、/*指数*/};doublefpvalue(){structPolyp;doublepvalue=0;floatx;printf("输入多项式X:");scanf("%f",&x);printf("输入多项式系数(a)和指数(n,n=-10000,结束):");scanf("%f%d",&p.a,&p.n);while(p.n!=-10000){pvalue+=p.a*pow(x,p.n);scanf("%f%d",&p.a,&p.n);}returnpvalue;}[1.2]13个人围成一圈,

3、从第1个开始顺序报号1、2、3。凡报到“3”者退出圈子。找出最后留在圈子中的人原来的序号。[分析]本题算法通过一个循环队列来实现,用结构体数组构造一个循环队列,每个元素中定义一个成员存放下一个元素的下标。答案#include#defineN13structperson{intnumber;/*当前元素的序号*/intnextp;/*下一个元素的位置*/}link[N+1];/*定义N+1个元素的结构体数组存放N个人的信息*/main(){inti,count,h;for(i=1;i<=

4、N;i++)/*给循环队列初始化,下标从1开始*/{if(i==N)link[i].nextp=1;/*最后一人的下一个元素的位置为1即第一个元素,形成循环队列*/elselink[i].nextp=i+1;/*下一个人的序号*/link[i].number=i;/*每个人的序号与下标值相等*/}printf("");count=0;h=N;/*count统计出列的人数,h初始化为队列的最后一个元素*/printf("sequencethatpersonsleavetheircle:");whi

5、le(count

6、intf("Thelastoneis");for(i=1;i<=N;i++)if(link[i].number)/*若元素值不为0,表示该元素没出列,即是留下来的元素*/printf("%3d",link[i].number);}2.程序填空(请填写适当的符号,使程序实现其功能)[2.1]下列函数findbook的功能为:在有n个元素的数组s中查找书名为a的书,若找到,函数返回数组下标,否则,函数返回0,请填写适当的符号或语句,使程序实现其功能。答案#include#inclu

7、de"string.h"structbdata{intid;charbname[20];floatprice;};intfindbook(structbdatast[],intn,chars[]){inti;for(i=0;i

8、大学化学",53.5,8,"大学语文",23.5,9,"哲学",13.5};charst[20];intindex;printf("请输入要查找书名:");gets(st);index=findbook(book,6,st);if(index)printf("书号:%d,书名:%s,价格:%f",book[index-1].id,book[index-1].bname,book[index-1].price);elseprintf("%

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。