北京交通大学C语言综合程序设计(黄宇班).doc_第1页
北京交通大学C语言综合程序设计(黄宇班).doc_第2页
北京交通大学C语言综合程序设计(黄宇班).doc_第3页
北京交通大学C语言综合程序设计(黄宇班).doc_第4页
北京交通大学C语言综合程序设计(黄宇班).doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

综合程序设计一、 实验目的(1) 培养和锻炼对具有一定复杂度和规模的问题的分析与求解能力。(2) 掌握程序设计的综合方法,能综合应用各种数据类型实现较复杂数据的存储。(3) 培养良好的C程序设计风格与代码规范意识。二、课程设计内容(一)设计一个菜单程序:1、寻找肇事汽车车牌号 2、形成的新数 3、替换后的新字符串 4、狗熊吃包谷 5、学生的平均分6、再见(二)具体内容如下:1寻找肇事汽车车牌号一辆汽车撞人后逃跑,4个目击者提供如下线索:甲:牌照3、4位相同。 乙:牌号为31XXXX。丙:牌照5、6位相同。 丁:36位是一个整数的平方。请根据4个目击者的话,找出肇事汽车车牌号。Int a,b;for2. 形成的新数将长整型数s中各位上为偶数的数依次取出,构成一个新数放在t中。高位仍在高位,低位仍在低位。、例如, 当s中的数为87653129时,t中的数为862。3替换后的新字符串将s所指字符串中出现的与t1所指字符串相同的子串,全部替换为t2所指字符串,所形成的新串放在w所指的数组中,要求t1 和t2所指字符串的长度相同。例如,当s所指字符串中的内容为“abcdabfab”,t1所指子串中的内容为“ab”,t2所指子串中的内容为“99”时,在w所指的数组中的内容应为“99cd99f99” 4狗熊吃包谷狗熊到玉米地吃包谷,第一天吃了一半又拿走一个回去喂小狗熊。第二天又去吃了剩下的一半,走时仍然带一个回去。以后每天都吃前一天剩下的一半,拿走一个。到第十天时,狗熊到地里一看,只剩下一个包谷了。求地里一共有多少包谷?5.学生的平均分链表也是一种结构,我们把它单独作为一个知识点学习,最后为检查一下同学们学习能力,请同学们在自己阅读完链表的相应知识点以后,做以下题目:N名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。请编写函数fun,它的功能是求出平均分,并由函数值返回。请在 中填写相应的程序。例如,假定学生的成绩为85、76、69、85、91、72、64、87,则平均分应为78.625。#include #include#define N 8struct slist double s; struct slist *next;typedef struct slist STREC;double fun(STREC *h)double aver=0.0;while(h!=NULL)aver+=h-s;h=h-next;aver/=N;return aver;STREC *creat(double *s) STREC *h,*p,*q;int i=0;h=p=(STREC*)malloc(sizeof(STREC);p-s=0;while(is=si;i+;p-next=q;p=q;p-next=0;return h;outlist(STREC *h) STREC *p;p=h-next;printf(head);do printf(-%4.1f,p-s);p=p-next;while(p!=0);printf(nn);int main() double sN=85,76,69,85,91,72,64,87,ave;STREC *h;h=creat(s);outlist(h);ave=fun(h);printf(ave=%6.3lfn,ave);return 0;参考答案:double aver=0.0;while(h!=NULL)aver+=h-s;h=h-next;aver/=N;return aver;程序:#include#include#include#include#include#define N 8struct slistdouble s;struct slist *next;typedef struct slist STREC;void draw();void link();void corn();void average();int menu_select();int main()for(;)switch(menu_select()case 1:draw();break;case 2:link();break; case 3: bored();break;case 4:corn();break;case 5:average();break;case 6:printf(Goodbye!n);exit(0);return 0;int menu_select()char s;int cn;printf(1、寻找肇事汽车车牌号n);printf(2、形成的新数n);printf(3、替换后的新字符串n);printf(4、狗熊吃包谷n);printf(5、求学生的平均分n);printf(6、Goodbye!n);printf(nn请输入想要执行的程序编号:);dos=getchar();cn=(int)s-48;while(cn6);return cn;void draw()int i,j,x,y;for(i=1;i10;i+)for(j=0;j10;j+)x=i*1100+j*11;for(y=31;y0) d=g%10;if(d%2=0)*h=*h+d*s1;s1*=10;g/=10;void link()long g,h;printf(请输入一个数);scanf(%ld,&g);hayate(g,&h);printf(结果是%ldn,h);void reinforce(char *s,char *t1,char *t2,char *w)char *p,*r,*a;strcpy(w,s);while(*w)p=w;r=t1;while(*r)if(*r=*p)r+;p+;elsebreak;if(*r=0)a=w;r=t2;while(*r)*a=*r;a+;r+;w+=strlen(t2);else w+; int bored()char s100,t1100,t2100,w100;printf(n请输入字符串s:);scanf(%s,s);printf(n请输入字符串t1:);scanf(%s,t1);printf(n请输入与t1等长字符串t2:);scanf(%s,t2);if(strlen(t1)=strlen(t2)reinforce(s,t1,t2,w);printf(n结果是:%sn,w);elseprintf(Errorn);void corn()int c=1,i,b,a,e=0;printf(狗熊到玉米地吃包谷,第一天吃了一半又拿走一个回去喂小狗熊。n第二天又去吃了剩下的一半,走时仍然带一个回去。n以后每天都吃前一天剩下的一半,拿走一个。n到第十天时,狗熊到地里一看,只剩下一个包谷了。n求地里一共有多少包谷?n);for(i=1;inext; while(p) n+; sum+=p-s; p=p-next; ave=sum/n; return ave;STREC *creat(double *s)STREC *h,*p,*q;int i=0;h=p=(STREC*)malloc(sizeof(STREC);p-s=0;while(is=si;i+;p-next=q;p=q;p-next=0;return h;outlist(STREC *h)STREC *p;p=h-next;printf(head);doprintf(-%4.1f,p-s);p=p-next;w

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论