




已阅读5页,还剩13页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.重庆_软研_sT(83656621) 16:31:33数据结构的题写函数,VC6约瑟夫环是一个数学的应用问题:已知n个人(以编号1,2,3.n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。#include#includetypedef struct Nodeint num;struct Node *next;LinkList;LinkList *creat(int n)LinkList *p,*q,*head;int i=1; p=(LinkList *)malloc(sizeof(LinkList); p-num=i;head=p; for(i=2;inum=i; p-next=q; p=q; p-next=head; /*使链表尾指向链表头 形成循环链表*/ return head;void fun(LinkList *L,int m)int i;LinkList *p,*s,*q;p=L;printf(出列顺序为:);while(p-next!=p)for(i=1;inext;printf(%5d,p-num);s=p;q-next=p-next;p=p-next;free(s);printf(%5dn,p-num);int main()LinkList *L;int n, m;n=9;m=5;L=creat(n);fun(L,m);return 0;#include#include#include#include#define LENGTH 13int verifyMsisdn(char *inMsisdn)char *pchar=NULL;assert(inMsisdn!=NULL);if(LENGTH=strlen(inMsisdn)if(8=*inMsisdn)&(*(inMsisdn+1)=6)while(*inMsisdn!=0)if(*inMsisdn=0)&(*inMsisdn=0)res+=a;return res;5.struct nodeint data;node* pre;node* next;结构体数组转双向循环链表群面:12个人分两组,介绍自己,全部介绍完,抓几个人评价别的某个人对10个按重要性排序公司前景,个人兴趣,薪酬,工作地点,父母期望,解决户口,就业政策。10分钟讨论组长汇报排序结果谁贡献最多,排序2011年华为软件校园招聘编程测验类别:软件C/C+语言编程题(共3题,第一题20分,第二题30分,第三题50分,共100分)注意:1、请上机编写程序,按题目要求提交文件。详见考试说明,点击进入考试说明2、本试题采用自动执行测试用例进行评分,测试用例不对考生公开3、评卷通过在给定用例输入下,严格按照试题要求比较考生实现函数的输出与预设输出。两者相同则得分,不同则不得分。4、评卷人保证测试用例输入参数的合法性,考生不用考虑输入参数非法或异常的情况5、评卷人保证测试用例输入在被测函数正常合法情况下使用不会导致程序错误6、如果考生函数异常导致程序崩溃或死循环,则自动评卷可能会被人为终止,剩余用例不被执行,无法得分7、基于上述阅卷规则,请考生严格按照题目要求功能实现程序,尽量保证实现函数的稳健性,同时建议完成一道题并调试保证正确性后,再考虑并实现下一题目1.数组比较(20分) 问题描述:比较两个数组,要求从数组最后一个元素开始逐个元素向前比较,如果2个数组长度不等,则只比较较短长度数组个数元素。请编程实现上述比较,并返回比较中发现的不相等元素的个数比如:数组1,3,5和数组77,21,1,3,5按题述要求比较,不相等元素个数为0数组1,3,5和数组77,21,1,3,5,7按题述要求比较,不相等元素个数为3 要求实现函数:intarray_compare(intlen1,intarray1,intlen2,intarray2)【输入】 intlen1:输入被比较数组1的元素个数;intarray1:输入被比较数组1;intlen2:输入被比较数组2的元素个数;intarray2:输入被比较数组2;【输出】 无【返回】 不相等元素的个数,类型为int 示例1) 输入:intarray1=1,3,5,intlen1=3,intarray2=77,21,1,3,5,intlen2=5函数返回:02) 输入:intarray1=1,3,5,intlen1=3,intarray2=77,21,1,3,5,7,intlen2=6函数返回:#include#include#includeint array_compare(int len1, int array1, int len2, int array2)int count=0;for( ;len1=0&len2=0 ;len1-,len2-)if(array1len1-1=array2len2-1) count+;return count;int main()int result=0;int array1=1,3,5;int len1=3;int array2=77,12,1,3,5;int len2=5;result=array_compare( len1, array1, len2, array2); /result=array_compare( len1, array1, len2, array2);不能这样 / 函数形参中永远只是传得首地址,不能传数组 切记切记!printf(the result is %d, result);2.约瑟夫问题 问题描述:输入一个由随机数组成的数列(数列中每个数均是大于0的整数,长度已知),和初始计数值m。从数列首位置开始计数,计数到m后,将数列该位置数值替换计数值m,并将数列该位置数值出列,然后从下一位置从新开始计数,直到数列所有数值出列为止。如果计数到达数列尾段,则返回数列首位置继续计数。请编程实现上述计数过程,同时输出数值出列的顺序比如: 输入的随机数列为:3,1,2,4,初始计数值m=7,从数列首位置开始计数(数值3所在位置)第一轮计数出列数字为2,计数值更新m=2,出列后数列为3,1,4,从数值4所在位置从新开始计数第二轮计数出列数字为3,计数值更新m=3,出列后数列为1,4,从数值1所在位置开始计数第三轮计数出列数字为1,计数值更新m=1,出列后数列为4,从数值4所在位置开始计数最后一轮计数出列数字为4,计数过程完成。输出数值出列顺序为:2,3,1,4。 要求实现函数:voidarray_iterate(intlen,intinput_array,intm,intoutput_array)【输入】 intlen:输入数列的长度;intintput_array:输入的初始数列intm:初始计数值【输出】 intoutput_array:输出的数值出列顺序【返回】 无 示例输入:intinput_array=3,1,2,4,intlen=4,m=7输出:output_array=2,3,1,4/循环链表实现/#include#include#includetypedef struct Nodeint num;struct node *next; node;node *creat(int len , int input_array)node *h,*s,*p;int i;h=(node*)malloc(sizeof(node);h-num=input_array0;p=h;for(i=1;inum=input_arrayi; p-next=s; p=s; p-next=h; return (h);void array_iterate(int len, int input_array, int m)node *q,*p,*s;int i=0,j=0,k;int output_array4;p=creat(len,input_array);while(p-next!=p)for(i=1;inext;m=p-num; printf(%5d,m);output_arrayj+=m;s=p;q-next=p-next;p=p-next;free(s);s=NULL;m=p-num; printf(%5dn,m);output_arrayj=p-num;k=j;for(j=0 ; j=k; j+)printf(%5d,output_arrayj);int main()int input_array=3,1,2,4;int len=4;int m=7;int output_array4;array_iterate(len, input_array, m, output_array);3.简单四则运算 问题描述:输入一个只包含个位数字的简单四则运算表达式字符串,计算该表达式的值注: 1、表达式只含+,-,*,/四则运算符,不含括号2、表达式数值只包含个位整数(0-9),且不会出现0作为除数的情况3、要考虑加减乘除按通常四则运算规定的计算优先级4、除法用整数除法,即仅保留除法运算结果的整数部分。比如8/3=2。输入表达式保证无0作为除数情况发生5、输入字符串一定是符合题意合法的表达式,其中只包括数字字符和四则运算符字符,除此之外不含其它任何字符,不会出现计算溢出情况 要求实现函数:intcalculate(intlen,char*expStr)【输入】 intlen:字符串长度;char*expStr:表达式字符串;【输出】 无【返回】 计算结果 示例1) 输入:char*expStr=“1+4*5-8/3”函数返回:192) 输入:char*expStr=“8/3*3”函数返回:6 第六题:类似昨天Sara说的最后一题:给你一个数组a,数组长度len以及一个整数m从数组中第一个数字数起找到第m个数字输出am然后再将am赋值给m,从数组的下一个元素数起,找到第m个元素输出,以此进行直到数组中的元素全部输出 第五题:一副牌中发五张扑克牌给你:让你判断数字的组成:有以下几种情况:1:四条:即四张一样数值的牌(牌均不论花色)2:三条带一对3:三条带两张不相同数值的牌4:两对5:顺子包括10,J,Q,K,A6:什么都不是7:只有一对 第一题:比较一个数组的元素是否为回文数组#include #include int huiwen(char str)int i,len,k=1;len=strlen(str);for(i=0;ilen/2;i+)if(stri!=strlen-i-1)k=1;break;if(k=0) printf(%s 不是一个回文数n,str);elseprintf(%s 是一个回文数n,str);void main() char str100 = 0; int i;int len;printf(Input a string:); /*提示输入Input a string:*/scanf(%s, str); /*scan()函数输入一个字符串:*/huiwen(str);第二题:求两个数组的和差就是去掉两个数组中相同的元素然后将两个数组中的元素存放在一个新的数组中切数组A中元素要在B数组元素之前第三题:比较汗求简单的四则运算参与运算的数字只有0-9 逆序单链表第一题【20分】:鉴定回文数组。第二题【30分】:求两个整型数组的异集,即A+B-(A与B的交集)。第三题【50分】:判定德州扑克的牌型。给5张牌,返回它的牌型,4个的,3个+对子,顺子,3个+2个单张,2对,1对,其他。上午是输入一个数组,然后找出哪个比平均值大上午是输入一个数组,然后找出哪个比平均值大 1. 手机号码合法性判断(20分)问题描述:我国大陆运营商的手机号码标准格式为:国家码+手机号码,例如:8613912345678。特点如下: 1、 长度13位;2、 以86的国家码打头;3、 手机号码的每一位都是数字。 请实现手机号码合法性判断的函数要求:1) 如果手机号码合法,返回0;2) 如果手机号码长度不合法,返回13) 如果手机号码中包含非数字的字符,返回2;4) 如果手机号码不是以86打头的,返回3;【注】除成功的情况外,以上其他合法性判断的优先级依次降低。也就是说,如果判断出长度不合法,直接返回1即可,不需要再做其他合法性判断。要求实现函数:int s int verifyMsisdn(char* inMsisdn)【输入】 char* inMsisdn,表示输入的手机号码字符串。【输出】 无【返回】 判断的结果,类型为int。示例输入: inMsisdn = “869123456789“输出: 无返回: 1输入: inMsisdn = “88139123456789“输出: 无返回: 3输入: inMsisdn = “86139123456789“输出: 无返回: 0 2. 将一个字符串的元音字母复制到另一个字符串,并排序(30分)问题描述:有一字符串,里面可能包含英文字母(大写、小写)、数字、特殊字符,现在需要实现一函数,将此字符串中的元音字母挑选出来,存入另一个字符串中,并对字符串中的字母进行从小到大的排序(小写的元音字母在前,大写的元音字母在后,依次有序)。 说明:1、 元音字母是a,e,i,o,u,A,E,I,O,U。2、 筛选出来的元音字母,不需要剔重; 最终输出的字符串,小写元音字母排在前面,大写元音字母排在后面,依次有序。 要求实现函数:void sortVowel (char* input, char* output);【输入】 char* input,表示输入的字符串【输出】 char* output,排好序之后的元音字符串。【返回】 无 示例输入:char *input = “Abort!May Be Some Errors In Out System. “输出:char *output =“aeeeooAEIO “ 3. 身份证号码合法性判断问题描述: 我国公民的身份证号码特点如下: 1、 长度为18位;2、 第117位只能为数字;3、 第18位可以是数字或者小写英文字母x。4、 身份证号码的第714位表示持有人生日的年、月、日信息。例如:511002 19880808 0111或511002 19880808011x。 请实现身份证号码合法性判断的函数。除满足以上要求外,需要对持有人生日的年、月、日信息进行校验。年份大于等于1900年,小于等于2100年。需要考虑闰年、大小月的情况。所谓闰年,能被4整除且不能被100整除 或 能被400整除的年份,闰年的2月份为29天,非闰年的2月份为28天。其他情况的合法性校验,考生不用考虑。函数返回值:1) 如果身份证号合法,返回0;2) 如果身份证号长度不合法,返回1;3) 如果身份证号第117位含有非数字的字符,返回2;4) 如果身份证号第18位既不是数字也不是英文小写字母x,返回3;5) 如果身份证号的年信息非法,返回4;6) 如果身份证号的月信息非法,返回5;7) 如果身份证号的日信息非法,返回6(请注意闰年的情况);【注】除成功的情况外,以上其他合法性判断的优先级依次降低。也就是说,如果判断出长度不合法,直接返回1即可,不需要再做其他合法性判断。 要求实现函数:int verifyIDCard(char* input) 示例1) 输入:”511002 111222”,函数返回值:1;2) 输入:”511002 abc123456789”,函数返回值:2;3) 输入:”511002 19880808123a”,函数返回值:3;4) 输入:”511002 188808081234”,函数返回值:4;5) 输入:”511002 198813081234”,函数返回值:5;6) 输入:”511002 198808321234”,函数返回值:6;7) 输入:”511002 1989 0229 1234”,函数返回值:7;8) 输入:”511002 198808081234”,函数返回值:0; 第一个:比较两个数组的元素是否相同 从后向前比较 ,直到比较完较短的一个数组为止。出现不同元素就返回0相同则返回1第二题:比较一个数组的元素 是否为回文数组第三题:求两个数组的和差 就是去掉两个数组中相同的元素 然后将两个数组中的元素存放在一个新的数组中 切数组A中元素要在B数组元素之前第四题:比较汗 求简单的四则运算 第五题:一副牌中发五张扑克牌给你:让你判断数字的组成:有以下几种情况:1:四条:即四张一样数值的牌(牌均不论花色)2:三条带一对3:三条带两张不相同数值的牌4:两对5:顺子 包括 10,J,Q,K,A6:什么都不是第六题:类似昨天Sara说的最后一题:给你一个数组a,数组长度len 以及一个整数m从数组中第一个数字数起 找到第m个数字 输出am 然后再将am赋值给m,从数组的下一个元素数起,找到第m个元素输出,以此进行直到数组中的元素全部输出 华为上机题:1)天大:上午是输入一个数组,然后找出哪个比平均值大下午是链表的reverse2)四川大学:刚考完,都是编程题,不难挺基本的。数组比较,约瑟夫环,字符串计算3)第一题【20分】:鉴定回文数组。第二题【30分】:求两个整型数组的异集,即A+B-(A与B的交集)。第三题【50分】:判定德州扑克的牌型。给5张牌,返回它的牌型,4个的,3个+对子,顺子,3个+2个单张,2对,1对,其他。算法都不难,关键看细心度啦。祝各位好运!4)昨天去参加了华为的校园招聘上机考试,题目一共三道,都比较简单,不要求算法效率,也不要求对所给数据的合法性作检测,主要还是注重基础知识的考察,和大家分享一下,希望对接下来的同学有所帮助。1、选秀节目打分,分为专家评委和大众评委,score数组里面存储每个评委打的分数,judge_type里存储与score数组
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年3D打印技术的器官打印进展
- 农业银行2025黑河市秋招无领导小组面试案例题库
- 2025年3D打印的个性化医疗植入物
- 中国银行2025秋招面试典型题目及参考答案湖北地区
- 工商银行2025吉安市秋招无领导小组面试案例题库
- 工商银行2025张家口市秋招无领导模拟题角色攻略
- 中国银行2025萍乡市信息科技岗笔试题及答案
- 建设银行2025上饶市小语种岗笔试题及答案
- 建设银行2025兰州市秋招结构化面试经典题及参考答案
- 中国银行2025石家庄市秋招英文面试题库及高分回答
- 第26届北京市高中力学竞赛决赛试题
- 中成药合理应用专家讲座
- 清梳联设备及工艺流程
- 手性新药的注册要求
- 图形创意设计的课件完整版
- SH/T 0660-1998气相防锈油试验方法
- GB/T 4956-2003磁性基体上非磁性覆盖层覆盖层厚度测量磁性法
- 第三、四章-证据的分级、来源与检索课件
- 《计算机系统结构(第二版)》配套教学课件
- 职业技术学院学生退费申请表
- 六年级上册美术课件-《戏曲人物》 浙美版(2014秋) (2)(共13张PPT)
评论
0/150
提交评论