欢迎来到第壹文秘! | 帮助中心 分享价值,成长自我!
第壹文秘
全部分类
  • 幼儿/小学教育>
  • 中学教育>
  • 高等教育>
  • 研究生考试>
  • 外语学习>
  • 资格/认证考试>
  • 论文>
  • IT计算机>
  • 法律/法学>
  • 建筑/环境>
  • 通信/电子>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 第壹文秘 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    漓江学堂程序设计与问题求解期末考试参考程序.docx

    • 资源ID:342879       资源大小:39.75KB        全文页数:27页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    账号登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,如果您不填写信息,系统将为您自动创建临时账号,适用于临时下载。
    如果您填写信息,用户名和密码都是您填写的【邮箱或者手机号】(系统自动生成),方便查询和重复下载。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    漓江学堂程序设计与问题求解期末考试参考程序.docx

    A级难度试题:(最高难度:A档-只需完成一题即可,随机挑选,满分100分)1.编程实现单链表的创建、查询、插入、删除等操作,每次操作以后都要输出单链表,要求在创建单链表的节点时,以输入-1表示结束,所有操作都要求函数实现。#include<stdio.h>typedefstructnode(intdata;structnode*next;NODE;概念结点数据类型constintLEN=SiZeof(NoDE);普通建议用const常量,而不要用define概念符号常量voidPrint(NODE*h)输出链表的内容(NODE*q;q=h->next;while(q!=NULL)/i:=O;while(i<h->data)(Printf("本结点地址x;数据:%d,下一个结点地址%xnRq->data,q->next);q=q->next;voidInsert(intx,NODE*h)将数据X插入表头为h的链表中NODE*p=(NODE*)malloc(LEN);p->data=x;p->next=h->next;h->next=p;Print(h);NODE*Create(intn)创建有n个结点的链表,注意最后生成的结点的数据是与输入顺序相反的(intX;NODE*q;NODE*p=(NODE*)malloc(LEN);p->next=0;p->data=n;链表表头寄存链表中有多少个结点Primf("请输入整数若输入-1则表示创建结束:。;while(l)(scanf("%d"z8ix);if(x=-l)break;Insert(x,p);插入新的结点Print(p);returnp;NODE*Find(int×lNODE*h)在表头为h的链表中查找x是不是存在(NODE*p;p=h->next;while(p!=NULL)(if(p->data=x)return1;p=p->next;)return0;)voidDel(intxzNODE*h)删除值为x的结点(NODE*p/pre;pre=h;p=h->next;while(p!=NULL&&p->data!=x)pre=p;p=p->next;if(p=NULL)PrintfC删除不成功Ielsepre->next=p->next;free(p);)2、编程创建有序单链表,要求从键盘随机输入若干整数,将它们依照从小到大的Jl砺链接起来,输入以-1表示结束,输入时的数不能是有序的,创建和输出链表的操作都要求函数实现。voidSortedInsertOntx,NODE*h)将数据有序插入,形成有序的链表(NODE*pre,*p;NODE*q=(NODE*)malloc(LEN);q->data=x;pre=h;p=h->next;while(p!=NULL&&p->data<x)(pre=p;p=p->next;)pre->next=q;q->next=p;)NODE*Create()(int×NODE*head=(NODE*)malloc(LEN);head->next=0;head->data=0;doscanf("%d"×);if(×!=-l)Sortedlnsert(x,head);whilex!=-l);returnhead;)voidmain()(NODEhead=CreateO;Print();/print函数用上面一题的即可,数据结构概念也是)名、性别、身高、地址等信息存入到该文件,然后将学生依照身高从高到低的顺序进行排序,并将排序以后的结果换行后保留到文件原始信息的后面。typedefstructstudentcharstno20rname20zsexzaddress50;/ffiF表示女,M表示男floatheight;STU;STUs10;用于保留学生的数据voidsort(STUsfintn)对有n个学生的数据进行排序,具有通用性()voidInput(STUs,intn)输入n个学生的信息,同时保留到数组和文件中(inti;FILE*fp=fopen("studem.txtTw");/以写的;丁开if(fp=NULL)(printf("cantopenfile!");exit(l);/includestdlib.h就可以利用exit函数)for(i=0;i<n;i+)(scanf("%s%s%s%f%c"zstui.stnozstui.name,stui.addresszstui.height,8istui.sex);fprintf(fpz,%s%s%s%f%cnstui.stno,stui.name,stui.address,stui.height,stui.sex);)fclose(fp);)voidOutput(STUsJntn)(inti;FILE*fp=f。PenCStUdenttxt<a");以追加形式打开文件if(fp=NULL)(printf(wcantopenfile!");exit(l);/includestdlib.h就可以利用exit函数)for(i=0;i<n;i+)(fprintf(fpz"%s%s%s%f%cn",stui.stnozstui.name,stui.address,stui.height,stui.sex);)fclose(fp);)voidmain()(Input(s,10);sort(sz10);Output(s,10);名、性别、号码、城市等)信息存入到文件中,别离提供3种查询方式:通过姓名查,通过城市查在这个城市的所有老友,通过号码查人,这3种查询都要求用函数实现。(注意输入数据的时候至少保证有2个以上老友在同一个城市的情况发生2次)本题的关键是要能查出在同一城市的多个老友,所以查询时,必然要挨个数据去比较,而不是查到就结束,数据输入和保留参考上题即可5、假设一个班上有48个同窗,让系统随机地产生48个同窗的姓名、性别、年龄、身高等信息。输出48个同窗的原始信息,每行8个,分6行输出。然后将数据从头按照性别和身高排序,女生从低到高排在前面,男生从低到高排在后面,然后再将排序以后的结果输出他们的信息,女生在前,男生砺。【特殊要求:(1)必需是全数排序完了以后再进行输出,不能是女生排完后输出女生的,男生排完后输出男生的;(2)排序通过函数挪用实现;(3)输出通过函数挪用实现;(4)要求随机产生的姓名在3个至8个字符之间长度的随机的26个英文字符组成,年龄在18-20之间,身高在160-190公分之间。(5)随机函数的备忘利用示例:#indude<stdlib.h>*include<stdio.h>*include<time.h>voidmain()inti;srand(unsigned)time(NULL);格当前时间设成通机函数的种子,每次产生的数都不一样/*输出10个醺机收/for(i=0;i<10;i+)printf("%dn",rand);可能的运行结果:6929802621987B级难度试题(:B档一需完成系统随机S诞出来的2道题,满分90分)1、将一个正整数分解质因数。(例如:输入90,打印出90=2*3*3*5。)用自概念函数实现。每一个合数都可以写成几个质数相乘的形式。其中每一个质数都是这个合数的因数,叫做这个合数的分解质因数#include<stdio.h>inta20;intfjzys(intk)inti=2,j=0;for(;i<=k;i+)当因数i<=k时,实现继续寻觅质因数for(;k%i=0;j+)当k整除当前因数,实现该循环,每次循环下标j自加1k=i;使k=kiaj=i;存入因数returnj;voidmain()intm,b,j;Printf("请输入一个整数nk=");scanf("%d",&m);j=fjzys(m);for(b=0;b<(j-l);b+)printf("%d",ab);printf("*");)printf("%dn",aj-l);输出最后一个质因数)2、若是恰好等于它的因子之和,这例就称为“完数"。例如6=1+2+3.编程输出IOoOO之内的所有完数。用自概念函数实现。#include<stdio.h>voidmain()(intm,i,s;printf(10000之内的完数有:n");for(m=l;m<=10000;m+)(s=0;初始化因子之和s为0for(i=l;ivm;i+)寻觅在1到m之间,有多少m的因子if(m%i=0)/尾是m能整除i,贝h为m的因子s=s+i;将因子累加if(s=m)printf(n%dt"ls);)3、编程实现:任意给定一什进制的整数,将其转换成二进制,按位将其寄存到数组中,然后输出,要求数制转换通过自概念函数来实现。#include<stdio.h>intchange(intx,inta)(intn=-l;while(×!=0)(n+;an=x%2;×=×2;)returnn;)voidmain()(intx,a20,i,n;PrintfC请输入一个十进制数:n);scanf(',%d,×);n=change(x,a);Printf("转化为二进制数以后结果为:n)for(i=n;i>=0;i-)printf("%ld"zai);printf("n);4、从键盘输入某班10个学生的成绩和学号,然后从键盘任意输入一个学生的学号,查找出他的成(要求用结构体类型来表示绩并输出,若未找到,给出相应提示。要求通过自概念函数实现查找功能。学生的信息-学号和成绩)#include<stdio.h>#include<string.h>structStudent(charnumber20;intscore;);intlength(char*a)(inti=0;while(ai!='0')(i+;)returni;)intequal2(char*a,char*b)intlength(char*a);intIena,Ienbzi;Iena=length(a);Ienb=length(b);if(Iena!=lenb)returnO;for(i=0;ai!='0'i+)(if(ai!=bi)returnO;)return1;)voidmain()(structStudentstu20;intequal2(char*a,char*b);inti;for(i=0;i<10;+

    注意事项

    本文(漓江学堂程序设计与问题求解期末考试参考程序.docx)为本站会员(p**)主动上传,第壹文秘仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知第壹文秘(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 1wenmi网站版权所有

    经营许可证编号:宁ICP备2022001189号-1

    本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。第壹文秘仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第壹文秘网,我们立即给予删除!

    收起
    展开