ImageVerifierCode 换一换
格式:DOCX , 页数:33 ,大小:23.13KB ,
资源ID:2390918      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/2390918.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(皮德常c++全套答案.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

皮德常c++全套答案.docx

1、皮德常c+全套答案第2章习题2-5、计算一个人一段时期的薪水,第1天1分钱,第2天2分钱,每天翻倍。要求用户输入天数(输入检验),列表显示每天的薪水,及薪水总和(输出人民币的单位:“元”)。#includeusing namespace std;void main() int daynum; float daypay, paysum=0; do cout1整数): ; cindaynum; while(daynum=1); #includeusing namespace std;void newstr(char str1,char str2);static int m=0;void main(

2、) char str1100; char str2100; cout请输入一个字符串:endl; (str1,100); newstr(str1,str2); cout新字符串为:endl; coutstr2endl;void newstr(char str1,char str2) char *p,*q; q=str1; p=str2; int i=0; for(i=0;i100;i+) if(*(q+i)=0) *(p+i/2)+1)=0; break; else if(i%2!=0) *(p+i/2)=*(q+i); 5-8、编写一个函数palin()用来检查一个字符串是否是正向拼写与反向

3、拼写都一样的“回文”(palindromia).如“MADAM”是一个回文。若放宽要求,即忽略大小写字母的区别、忽略空格及标点符号等,则像“Madam,Im Adam”之类的短语也可视为回文。编程要求:1)在主函数中输入字符串。2)将字符串首指针作为函数参数传递到函数palin()中。当字符串是回文时,要求函数palin()返回true,否则返回false。3)若是回文,在主函数中输出yes。若不是回文,在主函数中输出no.#include using namespace std;bool palin(char a);int main() char a100; cout请输入一个字符串:a;

4、if(palin(a) coutyesendl; else coutnoendl; return 0;bool palin(char a) char *p1=a,*p2; int n,i; for(i=0,n=0;i=a&ai=Z) *(p1+n)=ai; n+; for(p2=p1+n;p1p2;) if(*p1=*p2) p1+; p2-; if(p2-p1=1|p2-p1=0) return true; else return false; 5-10、有n个人围成一圈,顺序排号,顺序号是1、2、3、.、n。从第1个人开始报号,凡报到m的人退出圈子,问最后留下的人是第几号。要求在主函数输入

5、n和m,将数组a以及n、m作为参数传递给函数count(),在该函数中依次输出退出圈子的人的序号,最后输出的就是留下者的序号。#includeusing namespace std;void count(int n,int m,int a);int main() int n,m; cout输入n:n; cout输入m:m; int a100; for(int i=0;in;i+) ai=i+1; count(n,m,a); return 0;void count(int n,int m,int a) int i,k=0,t=0,*p=a; for(i=0;in;i+) pi=i+1; whil

6、e (tn-1) for(p=a;pa+n;p+) if(*p!=0) k+; if(k=m) k=0; cout*p ; *p=0; t+; p=a; while(*p=0) p+; cout*pendl;6-1、假设每个学生信息包括学号、姓名和3门课程的考试分数。从键盘输入10个学生的数据,采用结构体数组数据的存储,程序实现如下功能:1)输出三门课的平均成绩。2)输出三门功课分数分别最高的学生的信息。3)按总分对这10个学生从高到低排序,并输出排序结果。4)输出平均分高于80分那些学生的信息。#include #include #include using namespace std;st

7、ruct student int ID; char name20; double score3;void input(student*,int n);double average(student*,int n);void print(student*,int n);void sort(student*,int n);const int studentNumber=10;int main() student stud10; input(stud,studentNumber); print(stud,studentNumber); .n; p2=head=initlist(); couta; wh

8、ile(a!=-1) p1=(NODE *)malloc(sizeof(NODE); p1-data=a; p2-next=p1; p2=p1; cina; p2-next=NULL; return(head);void print(NODE *head) NODE *p; p=head-next; if(p!=NULL) coutOutput list:; while(p!=NULL) coutsetw(5)data; p=p-next; coutnext;n-next!=NULL;n=n-next) for(p=head-next;p-next!=NULL;p=p-next) if(p-d

9、ata)(p-next-data) i=(p-next-data); p-next-data=p-data; p-data=i; int main() NODE *L1=NULL; coutnt Creat a list:n; L1=create(); cout排序前为:; print(L1); cout排序后为:; sort(L1); print(L1); return 0; 6-6、编写函数merge()将两个非递减序链表合并成一个新的非递减序链表,合并后两个原链表将不存在。函数原型为:NODE *merge(NODE *headA,NODE *headB);#include #inclu

10、de #include using namespace std;#define LEN sizeof(NODE)typedef struct node int data; node *next;NODE;.n; head=initlist(); couta; while(a!=-1) p=(NODE *)malloc(sizeof(NODE); p-data=a; insert(head,p); cina; return head;void print(NODE *head) NODE *p; p=head-next; if(p!=NULL) coutOutput list:; while(p

11、!=NULL) coutsetw(5)data; p=p-next; coutnext; free(p); NODE *merge(NODE *headA,NODE *headB) NODE *p1=headB-next,*p2=p1-next; while(p2!=NULL) insert(headA,p1); p1=p2; p2=p1-next; insert(headA,p1); return headA;int main() NODE *p1=NULL,*p2=NULL,*p=NULL; coutnt Creat a list:n; p1=create_sort(); print(p1); p2=create_sort(); print(p2); p=merge(p1,p2); print(p); return 0; 6-7、编写函数isSubset()用于判断链表L1中的每个数据元素是否都在链表L2中出现过,若是,则返回真,否则假。函数原型均为:bool isSubset(NODE *L1,NODE *L2);#include #include #include using namespace std;#define LEN sizeof(NODE)typedef struct node

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1