




已阅读5页,还剩59页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
c+试题(26)假设一个国家发行了n种面值的邮票,面值已知,并规定每封信上最多只能贴m张邮票,设计一个算法,求出在一个信封上能贴出的最大连续区间.例如发行了4种邮票面值分别为1,4,12,21.每封信上最多能贴5张邮票,求出能贴出的最大连续区间.即区间(a,b)则在a,b之间的任意个整数值都能构贴出来.原题即不清楚了,大意就这要,数据都是原题的.发表于 2006年02月25日 23:01:00 | 评论 (0)c+试题(24)摘要:24(全文共80字)点击此处阅读全文发表于 2006年02月25日 22:33:00 | 评论 (0)c+试题(23)有一数组a0.n-1,数组中的元素已排好序,设存在一元素am=m,设计一算法,求得m,且时间复杂度为O(logN).#includeint find(int a,int n)int low=0,high=n-1,m;while(lowm)high-;elselow+;return -1;void main()int a5=1,2,2,4,5;printf(%d,find(a,5); 发表于 2006年02月25日 22:30:00 | 评论 (0)c+试题(27)Part A 1)实现string toHex(int)把一个十进制转换成十六进制。(完全用算法实现) 2)实现一个计算大位数(如100位以上)相乘结果的函数string multiply(sting,string)。(请完全用算法实现) 3)一个数据库中有两个表,一张表为Customer,含字段ID,Name,一张表为Order,含字段ID,CustomerID(连向Customer中ID的外键),Revenue;写出求每个Customer的Revenue总和的SQL语句。 4)一个学生成绩登记系统,其中学生和课程均是可添加的,请设计一个库表结构实现,尽量保证系统使用中库表结构不再改变。 5)请简要描述出你最熟悉的技术架构,包括架构中的各种中间件。(建议用图的形式) Part B 1)请简述Critical Section和Mutex的不同点。 2)请描述下面函数声明中各个const的作用: const char* Test() const 3)举3个以上ASP.Net与ASP相比的进步。 4)ASP.Net中user control和custom control的区别。 5)用一个C语言用来删除单链表的头元素的函数,请找出其中的问题并加以纠正。 void RemoveHead(node* head) free(head) head=head-next 6)试编写函数判断计算机的字节存储顺序是开序(little endian)还是降序(bigendian) 7)给定如下SQL数据库:Test(num INT(4) 请用一条SQL语句返回num的最小值,但不许使用统计功能,如MIN,MAX等。 8)输出下面程序结果。 #include using namespace std; class A public:virtual void print(void) coutA:print()endl;); ; class B:public A public:virtual void print(void) coutB:print()print(); pb-print(); pc-print(); print(a); print(b); print(c); c+试题(22)有些非负整数文件中存在许多连续相等的整数段。设计程序将这种整数原文件按以下规则压缩到另一个压缩文件中: 一个连续相等的整数段,如有C(C1)个连续相等整数, 在压缩文件中存入C 和这个整数。 一个不连续相等的整数段,如有C(C1)个整数, 其中每个整数都与其相邻 的整数不等,在压缩文件中存入C和这C个整数。 例如,原文件为 2 2 2 4 4 4 8 3 8 1 1 1 1 2 1 则它的压缩文件为 3 2 3 4 -3 8 3 8 4 1 -2 2 1void main()int n,c=1,d=1,i;int t=0; int amax,bmax;cout请输入n的值:n; cout请输入数据组a的值:endl;for (i=0;iai;for(i=0;i2*n;i+)bi=0;for(i=0;i=1)d-;for(int j=0;jn;j+)if(bj=0)bj=-d;for(int k=0;k1) for(int j=0;jn;j+) if(bj=0) bj=c; bj+1=ai; break; t=0; c=1; if(i=n-1) if(d=n) b0=-d; for(i=0;in+1;i+) bi+1=ai; else for(int j=0;jn;j+) if(bj=0) bj=-d; for(int k=0;k=d;k+)bj+k+1=ai+k-d; break; for(i=0;i2*n;i+)if(bi!=0)coutbiendl; elsebreak; #include#includeusing namespace std;int* make(int *a,int &n) int i=0,j=-1,k=0; int *b=(int*)malloc(2*n*sizeof(int); while(n-i) if(ai=ai+1) while(ai=ai+1) i+; if(i=n-1)break; bk+=i-j; bk+=ai; j=i;i+; else while(ai!=ai+1) i+; if(i=n-1) i+; break; bk+=j-i+1; while(+ji)bk+=aj; j-; b=(int*)realloc(b,k*sizeof(int); n=k; return b; int main() int a=1,2,1,2,2,2,4,4,4,8,3,8,1,1,1,1,1,1,2,2,2,5,6,9,9,9,2,1,len=sizeof(a)/sizeof(int); int *b=make(a,len); for(int i=0;ilen;i+)coutbi ; coutendl; system(PAUSE); return 0; 发表于 2006年02月25日 21:59:00 | 评论 (0)c+试题(21)问题: 老板每天给员工发工资,表现形式为金条。每个员工劳动七天可得一根金条,每根金条只能切两刀。要求员工每天领到工资。如果您是老板,您该怎样发工资?(用程序表示)。 这样切(切两刀后出现三份 1234是一份,56是一份,7是一份): 1 2 3 4 | 5 6 | 7 编号 结果第一天 老板给员工7 员工拥有1/7 (编号为7的那份)第二天 员工用 7 换老板的 56 员工拥有2/7 (编号为56的那份) 第三天 老板给员工7 员工拥有3/7 (编号为7和编号为56的两份)第四天 员工用7和56换老板的1234 员工拥有4/7 (编号为1234的那份)第五天 老板给员工7 员工拥有5/7 (编号为1234和编号为7的两份)第六天 员工用7换老板的56 员工拥有6/7 (编号为1234和编号为56的两份)第七天 老板给员工7 全部 其实挺简单的,有二进制的思想就好1,2,4,就是二进制的001、010、100,这样想答案就很明显了,各占一位,可以组成1-7的任意数其实这道题已经算很简单了。现在国外公司面视都很少搞这种所谓IQ题了,国内一些小公司倒是喜欢弄些现成的IQ题来考,一般接触过的基本都不用想就有答案。其实没多大意思,不必放在心上。 发表于 2006年02月25日 18:56:00 | 评论 (0)长篇-我这25年序:25年,如果我能活到75,我人生也过了1/3了;如果我有100,也去了1/4。3和4做分母,看起来都是一样。感觉是悲哀的,基本上前25年都是空白,标题“这”字,充分的显示了自己的无奈。我必须要写的东西,要不生活会把我的记忆都抹杀了。第一章:印象发表于 2006年02月25日 17:43:00 | 评论 (0)c+试题(20)1.请将字符串“abcdefgh格式化为hgfedcba,写出算法。a:int Reverse(char *s) if(*s) Reverse(s+1); putchar(*s);b:void FormatStr(std:string &str)char c;int len = strlen(str.c_str();for(int i = 0; i =n!),将m拆成n个数相加:m=a(1)+a(2)+.+a(n),使之满足:a(1)a(2).n(用数学归纳法)此时m=a+a+a+.+(a+b)共n项,令a(1)=a-(n-1),a(2)=a-(n-2),.a(n-1)=a-(n-(n-1)a(n)=a+b+1+2+.+(n-1);这样不就满足了吗,且程序的具体实现也较简单 补充:2应为当n大于或等于时 #include stdlib.h#include stdio.h#include conio.hint m,n,*group;/m被干的数,n干的数,group干完得出的数void split(int start,int end,int x,int sum)/目的是实现数的抽取,即从start-end 自然数列上抽取递增的x个数,使x个自然数的和为 i,j;/i jif(sum0)return;if(x)for(i=start+1;iend;i+)groupn-x=i;if(x=1)split(i,end,x-1,sum-i); else split(i,sum/(x-1)+1,x-1,sum-i);elseif(sum=0)for(j=0;j=prepos)return;output1=max;for(int j=1;j=1)e=max/2;for(i=max;ie;i-)if (i=prepos)continue; outputpos=i;print(pos-1,cursum+i,i);int main(int argc,char* argv)print(n,0,m);system(pause);return 0;#include #include stdlib.h#define M 7#define N 3int *s; void find(int m, int n);int main(int argc, char* argv)s=new intM+1;s0=M+1;find(M,1);delete s;system(pause);return 0;void find(int m, int n)int i;if (n=N&msn-1)sn=m;for (i=1;i0;i-)if(m-i=0)continue;sn=i;find(m-i,n+1);return;#include stdafx.h#include iostream.h/運行效率問題的比較是重要的void back2(int No,int AllNo,int up,int down);int data1000;int count,count1,m,n;int main(int argc, char* argv)int up,down;coutmn;for (int i=0;i=n;i+) datai=0;down=m-(n-1)*n/2-n+1;up=1;count=0; count1=0;back2(1,n,up,down);coutnThe account is count.endl;return 0;void back2(int No,int AllNo,int up,int down)if (NoAllNo)for(int i=up;im) break;back(No+1,AllNo,dataNo+1,down+1); elsedataNo=m-count1;if (dataNo=dataNo-1) return; /if (count1=m) for(int j=1;jAllNo;j+) coutdataj,;coutdatajn;count+; count1-=dataAllNo-1; #include afx.h#include stdlib.h#include stdio.h#include conio.h#define arithmetic_2int m,n,*group,No;void split(int start,int end,int x,int sum )int i,j;if(m-sumstart) return;if(x)for(i=start+1;iend/*i+(end-i)/x*/;i+)groupn-x=i;#ifdef arithmetic_1split(i,end,x-1,sum-i);#else ifif(x=1)split(i,end,x-1,sum-i);else split(i,sum/(x-1)+1,x-1,sum-i);#endif elseif(sum=0)for(j=0;j=0 & c=9) i = i*10 + (c-0); else return -1; /Invalid string return i; 2#include #include #include using namespace std;int MyAtoi(const string &s)string str(s);str.erase(remove(str.begin(), str.end(), ), str.end();int PositiveFlag = 1;if (!str.empty()if (str.at(0) = -) PositiveFlag = -1;str.erase(0, 1);str.erase(str.find_first_not_of(0123456789);int res = 0;for(string:iterator pos = str.begin(); pos != str.end(); +pos)res = res * 10 + static_cast(*pos - 0x30);return res * PositiveFlag;int main()char *s = a 3-9885 pigs; cout MyAtoi(s) endl; return 0; 3#include stdafx.h#include using namespace std;int my_atoi(char * pzNum)if (pzNum = NULL)return 0;int nLen = strlen(pzNum);if (nLen = 0)return 0;int nIndex = 0;bool bFlag = true;if (!isdigit(pzNum0)if (pzNum0 = -)bFlag = false;else if (pzNum0 = +)bFlag = true;elsereturn 0;nIndex +;int nRt = 0;for (; nIndex nLen; nIndex+)if (!isdigit(pzNumnIndex)break;nRt = nRt * 10 + (pzNumnIndex-0);if (!bFlag)nRt = -nRt;return nRt;int _tmain(int argc, _TCHAR* argv)char* pzTest = NULL;char* pzTest1 = 1234;char* pzTest2 = -1234;char* pzTest22 = +1234;char* pzTest3 = 12 34;char* pzTest4 = a1234;char* pzTest5 = 123a4;char* pzTest6 = 123-4;/coutpzTest atoi:atoi(pzTest)endl;/!this call will lead to died;coutpzTest1 atoi:atoi(pzTest1)endl;coutpzTest2 atoi:atoi(pzTest2)endl;coutpzTest22 atoi:atoi(pzTest22)endl;coutpzTest3 atoi:atoi(pzTest3)endl;coutpzTest4 atoi:atoi(pzTest4)endl;coutpzTest5 atoi:atoi(pzTest5)endl;coutpzTest6 atoi:atoi(pzTest6)endl;cout -my atoi -endl;coutpzTest my_atoi:my_atoi(pzTest)endl;coutpzTest1 my_atoi:my_atoi(pzTest1)endl;coutpzTest2 my_atoi:my_atoi(pzTest2)endl;coutpzTest22 my_atoi:my_atoi(pzTest22)endl;coutpzTest3 my_atoi:my_atoi(pzTest3)endl;coutpzTest4 my_atoi:my_atoi(pzTest4)endl;coutpzTest5 my_atoi:my_atoi(pzTest5)endl;coutpzTest6 my_atoi:my_atoi(pzTest6)endl;return 0;result:1234 atoi:1234-1234 atoi:-1234+1234 atoi:123412 34 atoi:12a1234 atoi:0123a4 atoi:123123-4 atoi:123-my atoi -pzTest my_atoi:01234 my_atoi:1234-1234 my_atoi:-1234+1234 my_atoi:123412 34 my_atoi:12a1234 my_atoi:0123a4 my_atoi:123123-4 my_atoi:123/*- * filename - atol.c * * function(s) * atol - converts a string to a long * atoi - converts a string to an int * _wtol - converts a wide-character string to a long * _wtoi - converts a wide-character string to an int *-*/* * C/C+ Run Time Library - Version 11.0 * * Copyright (c) 1987, 2002 by Borland Software Corporation * All Rights Reserved. * */* $Revision: $ */#include #include #include #undef atoi /* macro in stdlib */*-*Name atol, _wtol - converts a string to an integerUsage long atol(const char *nptr); long _wtol(const wchar_t *nptr);Prototype in stdlib.hDescription Convert a string to a long integer. The syn
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 教师个人研修计划小学语文(16篇)
- 政治中考题目及答案广东
- 活动执行合同的基本要素
- 生态保护与产业集聚并重的2025年文化创意产业园区品牌塑造报告
- 2025年日语初级题目及答案
- 专业配方师考试题及答案
- 猪饲养员考试试题及答案
- 质量管理试卷及答案
- 2025年山西招聘特岗教师考试笔试试卷附答案
- 2025年山西建筑安管人员安全员考试题库及答案
- 北京理工c语言考试题及答案
- 给纪检委的招投标违规举报信范文
- 胶质细胞瘤课件
- 校外培训消防安全知识课件
- 2025年高级执法资格考试真题及答案
- 2025浙教版(2024)八年级上册科学教学计划(三篇)
- 发热护理课件
- 2025年行政许可法知识竞赛题库及答案
- 库房管理基础知识培训课件
- 1.2《我们都是社会的一员》教学设计 2025-2026学年统编版道德与法治八年级上册
- 2024年劳动争议调解仲裁法知识竞赛题库与答案
评论
0/150
提交评论