付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.计算机软件技术基础( 2)要求:1. 独立完成,作答时要写明题型、题号;2. 作答方式:手写作答或电脑录入,使用 A4 格式白纸;3. 提交方式:以下两种方式任选其一,1) 手写作答的同学可以将作业以图片形式打包压缩上传;2) 提交电子文档的同学可以将作业以 word 文档格式上传;4. 上传文件命名为“中心 - 学号 - 科目 .rar ” 或“中心 - 学号 - 科目 .doc ”;5. 文件容量大小:不得超过 10MB。请在以下五组题目中任选一组作答,满分100 分。第一组:一、 程序编写题(每小题25 分,共 100 分)( 一 )在编写的程序中,要求:1)用 fun 函数完成:求
2、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 整除
3、的所有自然数之和为%d",s);( 二 )请编写函数int fun(char *str),该函数的功能是:判断字符串是否为回文?若是则函数返回 1,主函数中输出 yes ,否则返回 0,主函数中输出 no。回文是指顺读和倒读都是一样的字符串。#include <stdio.h>int fun(char *str)int i=0,j=0;while(stri!='0')i+;i-;for(;j<=i;i-,j+)if(stri!=strj)break;if(j<=i)return 0;elsereturn 1;void main().char a
4、100;int flat=0;printf("请输入字符串:n");gets(a);flat=fun(a);switch(flat)case 1:printf("yesn"); break;case 0:printf("non"); break;( 三 )设 A、 B 是两个线性表,其表中元素递增有序,长度分别为m和 n。试写一算法分别以顺序存储和链式存储将A 和 B 归并成一个仍按元素值递增有序的线性表C。1. 顺序存储SeqList *Seqmerge(SeqList A,SeqList B,SeqList *C)i=0;j=0;
5、k=0;/i, i , k 分别为顺序表A, B, C的下标while(i<m&&j<n)if(A.datai<B.dataj)/A中当前元素较小C->datak=A.datail;i+;elseC->datak=B.dataj;j+;/B中当前元素较小k+;if(i=m)for(t=j;t<n;t+)C->datak=B.datat;k+;/B表长度大于A 表elsefor(t=i;t<m;t+)C->datak=A.datat;k+;/A表长度大于B 表.C->length=m+n;return C;2. 链式存储
6、void MergeList_L(Listlink &La,Listlink &Lb,Listlink &Lc)Listlink *pa,*pb,*pc;pa=La->next;pb=Lb->next;Lc=pc=La; /用 La 的头结点作为Lc 的头结点while(pa&&pb)if(pa->data<=pb->data)pc->next=pa;pc=pa;pa=pa->next;elsepc->next=pb;pc=pb;pb=pb->next;pc->next=pa?pa:pb;fre
7、e(Lb);( 四 )设有一个带头结点的单链表,表中各数据元素为无序的正整数,编写下列2 个函数。( 1) node*find_min_node(node*h) :找出头指针 h 指向的单链表中数据值最小的结点,打印该结点的数据值,并返回该结点指针;( 2)void switch_next_node(node*p) :若指针 p 指向的结点数据值为奇数,则将该结点与其直接后继结点的数值交换,若指针 p 指向的结点无后继结点或数据值为偶数,则不做任何操作;Typedef struct nodeint data;struct node*next;node;Void main()node*head,
8、*p;head=create();/*创建单链表 */p=find_min_node(head);/*查找数据值最小的结点*/switch_next_node(p);.#include <stdio.h>#include <stdlib.h>typedef struct nodeint data;struct node *next;node;struct node*creat(struct node *head)struct node*p1,*p2;int i=1;p1=p2=(struct node*)malloc(sizeof(struct node);printf
9、("请输入值,值小于等于0 结束,值存放地址为:p1_ADDR= %dn",p1);scanf("%d",&p1->data);p1->next=NULL;while(p1->data>0)if(head=NULL)head=p1;elsep2->next=p1;p2=p1;p1=(struct node*)malloc(sizeof(struct node);i=i+1;printf(" 请输入值,值小于等于 0 结束,值存放地址为: p%d_ADDR= %dn",i,p2); scanf(&q
10、uot;%d",&p1->data);free(p1);p1=NULL;.p2->next = NULL;printf("链表输入结束(END) n");return head;void print(struct node*head)struct node *temp;temp=head;printf("nnn链表存入的值为:n");while(temp!=NULL)printf("%8dn",temp->data);temp=temp->next;printf("链表打印结束!&q
11、uot;);node *find_min_node(node *h)int min;node *p,*t;if(h=NULL)return NULL;p=h->next;t=NULL;min=p->data;while(p!=NULL)if(p->data<min)t=p;min=p->data;p=p->next;printf("min=%dn",t->data);return t;void switch_next_node(node *p)node *q;int t;q=p->next;if(q=NULL | p->
12、data%2=0)return;.t=p->data;p->data=q->data;q->data=t;void main()node *head,*p;head=NULL;head=creat(head);p=find_min_node(head);switch_next_node(p);print(head);第二组:一、 程序编写题(每小题25 分,共 100 分)( 一 )编程实现bubble ()函数,功能是:对12 个整数进行冒泡排序( 要求排成升序 ) 。#include <stdio.h>#include <stdlib.h>m
13、ain() int i,j,t,a12=0; for(i=0;i<12;i+)scanf("%d",&ai); for(i=0;i<11;i+) for(j=0;j<11-i;j+)if(aj<aj+1)t=aj;aj=aj+1;aj+1=t;for(i=0;i<11;i+)printf("%d ",ai);system("PAUSe");.return 0;( 二 )1.编写函数 int absolute (int x),它的功能是:计算并输出x的绝对值2.编写函数 void fun(),它的功
14、能是:计算并输出1+1/2+1/3+1/n ,n由键盘输入3.编写程序,计算并输出X3+X54.数学中,阶乘函数的递归定义为:若 n=0, n!= 1;若 n>0, n!=n*(n-1)!;编写程序,计算并输出n!( 三 )设指针 la 和 lb 分别指向两个不带头结点的单链表的首结点,设计从表la 中删除第 i 个元素起共 len 个元素,并将这些元素插入到lb 中第 j 个结点之前的算法。( 四 )1.编写递归函数求1+2+3+, +m的值。2. 设指针 la 和 lb 分别指向两个不带头结点的单链表的首结点,设计从表la 中删除第i 个元素起共len 个元素,并将这些元素插入到lb
15、 中第 j 个结点之前的算法。第三组:一、 程序编写题(每小题25 分,共 100 分)( 一 )1.编写函数 void fun(),其功能是计算并输出 100以的偶数之和2.编写函数 void fun(),它的功能是:计算并输出100 以的所有素数3.编写程序,计算并输出5!+6!4.编写程序,计算并输出(X3) 2( 二 )给出用单链表存储多项式的结构, 并编写一个按指数值递增次序输入所产生的多项式链表的过程( 三 )1.单链表 L 是一个递减有序表,试写一高效算法,删除表中值大于min 且小于 max 的结点 ( 若表中有这样的结点 ) ,同时释放被删结点空间,这里min 和 max 是
16、两个给定的参数。2.编写一个算法将一个头结点指针为pa 的单链表 A 分解成两个单链表 A 和 B,其头结点指针分别为pa 和 pb,使得 A 链表中含有原链表 A 中序号为奇数的元素, 而 B 链表中含有原链表A 中序号为偶数的元素,且保持原来的相对顺序。.( 四 )已知由单链表表示的线性表中,含有三类字符的数据元素( 如:字母字符、数字字符和其他字符 ) ,试编写算法构造三个以循环链表表示的线性表,使得每个表中只含有同一类的字符,且利用原表中的结点空间作为这三个表的结点空间,头结点可另辟空间。第四组:一、 程序编写题(每小题25 分,共 100 分)( 一 )1 试用顺序表作为存储结构,实
17、现将线性表(a0 , a1, a2,,an-1) 就地逆置的操作,所谓“就地”是指辅助空间为O(1) 。2 设顺序表L 是一个递增 ( 允许有相同的值) 有序表,试写一算法将x 插入 L 中,并使 L 仍为一个有序表。( 二 )根据上题的单链表存储多项式的结构,编写一个过程实现两个多项式相加的运算。( 三 )假设以两个元素值递增有序排列的线性表 A、 B 分别表示两个集合,要求另辟空间构造一个线性表 C,其元素为两集合的交集,且表 C 中的元素值也递增有序排列。用顺序表实现并写出 C 的算法。( 四 )己知 A、 B和 C 为三个递增有序的线性表,现要求对A 表进行如下操作:删去那些既在B 表
18、中出现又在C 表中出现的元素。试对顺序表编写实现上述操作的算法( 注:题中未特别指明同一表中的元素值各不相同) 。第五组:一、 程序编写题(每小题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.所指的一个数组
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 122.2025年纳米材料动态光散射高分辨率表征技术考试试卷
- 华能内蒙古东部能源有限公司2026年度招聘高校毕业生备考题库完整参考答案详解
- 2025年宁波文旅会展集团有限公司招聘备考题库及1套完整答案详解
- 随县事业单位2025年公开招聘“三支一扶”服务期满高校毕业生备考题库及答案详解一套
- 2025年义乌市社会治理中心、义乌市诉调衔接人民调解委员会关于人民调解员招聘备考题库及答案详解1套
- 2025年上海市浦东新区肺科医院非编人员招聘备考题库及一套答案详解
- 2025年上海浦江教育出版社医学图书编辑招聘备考题库带答案详解
- 2025年浙商银行金华分行四季度社会招聘备考题库及完整答案详解一套
- 2025年中国铁路南昌局集团有限公司招聘494人备考题库及一套参考答案详解
- 2025年大庆市中医医院招聘备考题库带答案详解
- 某工程消防系统施工组织设计
- 军事训练伤的防治知识
- LY/T 3408-2024林下经济术语
- 应急管理理论与实践 课件 第3、4章 应急预案编制与全面应急准备、应急响应启动与科学现场指挥
- 2025年常德职业技术学院高职单招职业技能测试近5年常考版参考题库含答案解析
- KCA数据库试题库
- 【MOOC】新媒体文化十二讲-暨南大学 中国大学慕课MOOC答案
- 仓库主管个人年终总结
- 2024年初中七年级英语上册单元写作范文(新人教版)
- DB11T 065-2022 电气防火检测技术规范
- 创新思维训练智慧树知到期末考试答案章节答案2024年江西理工大学
评论
0/150
提交评论