天大19年《计算机软件技术基础(2)》离线作业考核(答案) 作者:周老师 分类: 天津大学 发布时间: 2019-08-06 19:03 专业辅导各院校在线、离线考核、形考、终极考核、统考、社会调查报告、毕业论文写作交流等! 联系我们:QQ客服:3326650399 439328128 微信客服①:cs80188 微信客服②:cs80189 扫一扫添加我为好友 扫一扫添加我为好友 奥鹏作业答案 联系QQ:3326650399 微信:cs80188 计算机软件技术基础(2) 需求: 一、独立结束,下面已将五组标题列出,请按照学院途径指定的做题组数作答, 每人只答一组标题,多答无效,满分100分; 途径检查做题组数操作:学生登录学院途径→系统登录→学生登录→课程考试→离线考核→离线考核课程检查→做题组数,闪现的数字为这次离线考核所应做哪一组题的标识; 例如:“做题组数”标为1,代表学生应作答“第一组”试题; 二、答题进程: 1.运用A4纸打印学院指定答题纸(答题纸请详见附件); 2.在答题纸上运用黑色水笔按标题需求手写作答;答题纸上悉数信息需求手写,包括学号、名字等根柢信息和答题内容,请写明题型、题号; 三、提交方法:请将作答结束后的整页答题纸以图像方法顺次张贴在一个Word 文档中上载(只张贴有些内容的图像不给分),图像请坚持正向、清楚; 1.上载文件命名为“中心-学号-名字-类别.doc” 2.文件容量巨细:不得跨越20MB。 提示:未按需求作答标题的作业及相同作业,分数以0分记! 标题如下: 第一组: 一、程序编写题(每小题25分,共100分) (一) 1.试用次序表作为存储结构,完成将线性表(a0,a1,a2,?an-1)就地逆置的操作,所谓“就地”是指辅助空间为O(1)。 2.设次序表L是一个递加(答应有相同的值)有序表,试写一算法将x刺进L中,并使L仍为一个有序表。 (二) 根据上题的单链表存储多项式的结构,编写一个进程完成两个多项式相加的运算。 (三) 假定以两个元素值递加有序摆放的线性表A、B别离标明两个集结,需求另辟空间结构一个线性表C,其元素为两集结的交集,且表C中的元素值也递加有序摆放。用次序表完成并写出C的算法。 (四) 己知A、B和C为三个递加有序的线性表,现需求对A表进行如下操作:删去那些既在B表中呈现又在C表中呈现的元素。试对次序表编写完成上述操作的算法(注:题中未特别指明同一表中的元素值各纷歧样)。 第二组: 一、程序编写题(每小题25分,共100分) (一) 在编写的程序中,需求: 1)用fun函数结束:求n以内(不包括n)能被3整除的一切天然数之和,并把成果作为函数值回来。 2)在main函数中输入一个天然数,调用fun函数,输出fun函数回来的成果。 答: #include <stdio.h> int fun(int n) { int sum,k; sum=0; for(k=1;k<n;k++) if(k%3==0) sum=sum+k; return sum; } void main() { int n,s; printf("输入天然数n:\n"); scanf("%d",&n); s=fun(n); printf("\nn以内(不包括n)能被3整除的一切天然数之和为 %d",s); } (二) 编程完成bubble()函数,功用是:对12个整数进行冒泡排序(需求排成升序)。 (三) 编程完成ret()函数,函数功用是:将一维数组a(有n个元素,且任何元素均 不为零)分拆为两个数组b和c,使a中大于零的元素存放在b中,小于零的元素 存放在c中。 (四) 1.编写函数double fun (intn),它的功用是:计算并输出下列级数和:s=1/1*2+1/2*3+…+1/n(n+1) 2.请编写函数void fun(char *s,char t[]),其功用是:将s所指字符串中除了下标 为偶数、一起ascii值也为偶数的字符外,其他的全都删去;串中剩下字符所构成的一个新串放在t所指的一个数组中。 第三组: 一、程序编写题(每小题25分,共100分) (一) 在编写的程序中,需求: 1)用fun函数结束:求n以内(不包括n)能被3整除的一切天然数之和,并把成果作为函数值回来。 2)在main函数中输入一个天然数,调用fun函数,输出fun函数回来的成果。 (二) 请编写函数int fun(char *str),该函数的功用是:判别字符串是不是为回文?如果则函数回来1,主函数中输出yes,否则回来0,主函数中输出no。回文是指顺读和倒读都是相同的字符串。 (三) 设A、B是两个线性表,其表中元素递加有序,长度别离为m和n。试写一算法别离以次序存储和链式存储将A和B归并成一个仍按元素值递加有序的线性表C。 (四) 设有一个带头结点的单链表,表中各数据元素为无序的正整数,编写下列2个函数。 (1)node*find_min_node(node*h):找出头指针h指向的单链表中数据值最小的结点,打印该结点的数据值,并回来该结点指针; (2)void switch_next_node(node*p):若指针p指向的结点数据值为奇数,则将该结点与其直接后继结点的数值交流,若指针p指向的结点无后继结点或数据值为偶数,则不做任何操作; Typedef struct node{ int data; struct node*next; }node; Void main() { node*head,*p; head=create();/*创建单链表*/ p=find_min_node(head);/*查找数据值最小的结点*/ switch_next_node(p); } 第四组: 一、程序编写题(每小题25分,共100分) (一) 编程完成ret()函数,函数功用是:将一维数组a(有n个元素,且任何元素均不为零)分拆为两个数组b和c,使a中大于零的元素存放在b中,小于零的元素存放在c中。 (二) 1.编写函数double fun (intn),它的功用是:计算并输出下列级数和:s=1/1*2+1/2*3+…+1/n(n+1) 2. 请编写函数void fun(char *s,char t[]),其功用是:将s所指字符串中除了下标为偶数、一起ascii值也为偶数的字符外,其他的全都删去;串中剩下字符所构成的一个新串放在t所指的一个数组中。 (三) 设计一段程序:函数difference(A,B)用于求两集结之差C=A-B,即当且仅当e是A中的一个元素,且不是B中的元素时,e是C中的一个元素。集结用有序链表完成,用一个空链表标明一个空集结,标明非终集结的链表根据元素之值按递加摆放,实施C=A-B之后,标明集结A和B的链表不变,若成果集结C非空,则标明它的链表应根据元素之值按递加序摆放。函数append()用于在链表中添加结点。 (四) 具有n个结点的完全二叉树,现已次序存储在一维数组A[1..n]中,设计一个算法将A中次序存储变为二叉链表存储的完全二叉树。 第五组: 一、程序编写题(每小题25分,共100分) (一) 设A、B是两个线性表,其表中元素递加有序,长度别离为m和n。试写一算法别离以次序存储和链式存储将A和B归并成一个仍按元素值递加有序的线性表C。 (二) 设指针la和lb别离指向两个不带头结点的单链表的首结点,设计从表la中删去第i个元素起共len个元素,并将这些元素刺进到lb中第j个结点之前的算法。 (三) 给出用单链表存储多项式的结构,并编写一个按指数值递加次序输入所发生的多项式链表的进程 (四) 根据上题的单链表存储多项式的结构,编写一个进程完成两个多项式相加的运算。 天大(397)19年(1156)《(4083)》(3453)离线(263) 专业辅导各院校在线、离线考核、形考、终极考核、统考、社会调查报告、毕业论文写作交流等!(非免费) 联系我们:QQ客服:3326650399 439328128 微信客服①:cs80188 微信客服②:cs80189 扫一扫添加我为好友 扫一扫添加我为好友
专业辅导各院校在线、离线考核、形考、终极考核、统考、社会调查报告、毕业论文写作交流等!(非免费)
联系我们:QQ客服:3326650399 439328128 微信客服①:cs80188 微信客服②:cs80189
扫一扫添加我为好友 扫一扫添加我为好友