c++笔试题大全.pdf

上传人:奔*** 文档编号:89655396 上传时间:2023-05-08 格式:PDF 页数:64 大小:5.45MB
返回 下载 相关 举报
c++笔试题大全.pdf_第1页
第1页 / 共64页
c++笔试题大全.pdf_第2页
第2页 / 共64页
点击查看更多>>
资源描述

《c++笔试题大全.pdf》由会员分享,可在线阅读,更多相关《c++笔试题大全.pdf(64页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、原C+试 题(26)假设一个国家发行了 n 种面值的邮票,面值已知,并规定每封信上最多只能贴m 张邮票,设计一个算法,求出在一个信封上能贴出的最大连续区间.例如发行了 4 种邮票面值分别为1,4,12,21.每封信,上最多能贴5 张邮票,求出能贴出的最大连续区间.即区间(a,b)则在a,b之间的任意个整数值都能构贴出来.原题即不清楚了,大意就这要,数据都是原题的.发表于 2006 年 02 25 I I 23:01:00|评 论(0)原C+试 题(24)摘要:24(全文共8 0 字)点击此处阅读全文发表于 2006 年 0 2。25 I I 22:33:00|评 论(0),原C+试 题(23)

2、有一数组a 0.n-1 ,数组中的元素已排好序,设存在一元素a m =m,设计一算法,求得m,且时间复杂度为0(logN).#includeint find(int a,int n)int low=0,high=n-1,m;while(low m)high-;elselow+;)return-1;)void main()(int a5=12,2,4,5;printf(%d,find(a,5);)发表于 2006 年 02 0 25 II 22:30:00|评 论(0)原C+试 题(27)Part A1)实现string toHex(int)把一个十进制转换成十六进制。(完全用算法实现)2)实现

3、一个计算大位数(如100位以上)相乘结果的函数string multiply(sting,string)o(请完全用算法实现)3)一个数据库中有两个表,一张表为Customer,含字段ID,Name,一张表为Order,含字段 I D,Customerl D(连向 Customer 中 I D 的外键),Revenue:写出求每个 Customer 的Revenue总和的SQL语句。4)一个学生成绩登记系统,其中学生和课程均是可添加的,请设计一个库表结构实现,尽量保证系统使用中库表结构不再改变。5)请简要描述出你最熟悉的技术架构,包括架构中的各种中间件。(建议用图的形式)Part B1)请简述

4、Critical Section和Mutex的不同点。2)请描述下面函数声明中各个const的作用:const char*Test()const3)举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

5、(num INT(4)请用一条SQL语句返回num的最小值,但不许使用统计功能,如MIN,MAX等。8)输出下面程序结果。#include using namespace std;class Apublic:virtual void print(void)(cout A:print()endl;););class B:public Apublic:virtual void print(void)(cout HB:print()print();pb-print();pc-print();print(a);print(b);print(c);)原C+试题(22)有些非负整数文件中存在许多连续相等的

6、整数段。设计程序将这种整数原文件按以下规则压缩到另一个压缩文件中:.一个连续相等的整数段,如有C(C1)个连续相等整数,在压缩文件中存入C和这个整数。.一个不连续相等的整数段,如有C(CN1)个整数,其中每个整数都与其相邻的整数不等,在压缩文件中存入一C 和这C 个整数。例如,原文件为2224448381 1 1 121则它的压缩文件为3234-3 83841-2 2void main()(int n,c=1 ,d=1 ,i;int t=0;int amax,bmax;(:0111 n;cout”请输入数据组a的值:v vendl;for(i=0;i ai;for(i=0;i2*n;i+)bi

7、=0;for(i=0;i=1)(d-;for(int j=O;jn;j+)(if(bj=O)(bj=-d;for(int k=0;k 1)(for(int j=O;j n;j+)if(bj=O)bj=c;bj+1=ai;break;)t=0;c=1;)if(i=n-1)if(d=n)(bO=-d;for(i=0;i n+1 ;i+)bi+1=ai;)else(for(int j=O;jn;j+)if(bj=O)(bj=-d;for(int k=O;k=d;k+)bj+k+1=ai+k-d;break;)for(i=0;i2*n;i+)(if(bi!=O)coutbiendl;elsebreak

8、;)#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=

9、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,11,len=sizeof(a)/sizeof(int);int*b=make(ajen);for(int i=0;i len;i+)cout bi cout endl;system(*PAUSE);return 0;)发表于 2006 年 02 7 25 11 21:59:00|评 论(0).原C+试题)问题:老板每天给员工发工资,表现形式为金条。每个员工劳动七天可得一根金条,每根金条只能切两刀。要求员工每天领到工资。如果您是老

10、板,您该怎样发工资?(用程序表示)。这样切(切两刀后出现三份1234是一份,56是一份,7 是一份):1 2 3 4|5 6|7编号 结果第一天 老板给员工7 员工拥有1/7(编号为7 的那份)第二天 员工用 7 换老板的 56 员工拥有2/7(编号为5 6 的那份)第三天 老板给员工7 员工拥有3/7(编号为7 和编号为5 6 的两份)第四天 员工用7 和 56换老板的1234 员工拥有4/7(编号为1 234的那份)第五天 老板给员工7 员工拥有5/7(编号为1234和编号为7 的两份)第六天 员工用7 换老板的56 员工拥有6/7(编号为1234和编号为5 6 的两份)第七天 老板给员工

11、7 全部其实挺简单的,有二进制的思想就好1 ,2,4,就是二进制的001、010、1 0 0,这样想答案就很明显了,各占一位,可以组成1-7的任意数其实这道题已经算很简单了。现在国外公司面视都很少搞这种所谓IQ 题了,国内一些小公司倒是喜欢弄些现成的IQ 题来考,一般接触过的基本都不用想就有答案。其实没多大意思,不必放在心:。发表于 2006 年 0 2。25 II 18:56:00|评 论(0)原K篇 我这25年序:25年,如果我能活到7 5,我人生也过了 1/3 了;如果我有100,也去了 1/4。3和4做分母,看起来都是一样。感觉是悲哀的,基本上前25年都是空白,标题“这”字,充分的显示

12、了自己的无奈。我必须要写的东西,要不生活会把我的记忆都抹杀了。第一章:印象发表于 2006年0 2月2 5日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 =记),将m拆成n个数相加:m=a(1)+a(2)+a(n),使之满足:a(1)va(2)v.n(用数学归

13、纳法)止 匕 时 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.hn#include uconio.hint m,n,*group;/m被干的数,n干的数,group干完得出的数void split(int start,int end,int x,int sum)/目的是实现数的抽取,即从 start-end 自然数列上抽取递增的

14、x个 数,使x个自然数的和为sum.int 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);)else(if(sum=0)(for(j=0;j=prepos)return;output 1=max;for(int j=1 ;j=1)e=max/2;for(i=max;i e;i-)(if(i=prepos)continue;outputpos=i;print(pos-1,cursum+i,i);)i

15、nt 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&m sn-1)(sn=m;for(i=1 ;i0;i-)(if(m

16、-i=0)continue;sn=i;find(m-i,n+1);)return;#include nstdafx.h#include iostream.h逋行效率冏题的比敕是重要的void back2(int No,int AllNo,int up,intint data 1000;int count,count1,m,n;int main(int argc,char*argv)down);int up,down;cout m n;for(int i=0;i=n;i+)datai=0;down=m-(n-1)*n/2-n+1;up=1 ;count=0;countl=0;back2(1,n,

17、up,down);cout HnThe account is v vcountv v”.v vendl;return 0;)void back2(int No,int AllNo,int up,int down)if(No AllNo)for(int i=up;i m)break;back(No+1,AllNo,dataNo+1 ,down+1);elsedataNo=m-count1;if(data No =data No-1 )return;/if(countl=m)(for(int j=1;j AIINo;j+)coutdataj ,coutdatajn,;count+;countl-=

18、dataAIINo-1;)int m,n,*group,No;#includeuafx.h#includestdlib.h#includestdio.h#includeconio.h#definearithmetic_2void split(int start,int endjnt x,int sum)int ij;if(m-sum start)return;if(x)(for(i=start+1 ;i end/*i+(end-i)/x*/;i+)(groupn-x=i;#ifdef arithmetic_1split(i,end,x-1,sum-i);#else ifif(x=1)split

19、。,end,x-1,sum-i);else split(i,sum/(x-1)+1 ,x-1,sum-i);#endif)else(if(sum=0)(for(j=0;j=0&c=9r)i=i*10+(c-O);)elsereturn-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

20、;if(Jstr.emptyO)(if(str.at(O)=(PositiveFlag=-1;str.erase(O,1);str.erase(str.find_first_not_of(0123456789*);int res=0;fbr(stri ng:iterator pos=str.begin();pos!=str.end();+pos)(res=res*10+static_cast(*pos-0 x30);return res*PositiveFlag;int main()char*s=a 3-9885 pigs;cout MyAtoi(s)endl;return 0;)3#incl

21、ude stdafx.hu#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(pzNumO)(if(pzNum0=)bFlag=false;else if(pzNumfO=+)bFlag=true;elsereturn 0;n Index+;)int nRt=0;for(;nlndex nLen;nlndex+)(if(!isdig

22、it(pzNumn Index)break;nRt=nRt*10+(pzNumfnlndex-01);)if(!bFlag)nRt=-nRt;return nRt;int _tmain(int argc,_TCHAR*argv)(char*pzTest=NULL;char*pzTest 1 =1234”;char*pzTest2=1234”;char*pzTest22=+1234;char*pzTest3=12 34;char*pzTest4=a1234n;char*pzTest5=M123a4M;char*pzTest6=123-4”;/coutpzTestu atoi:uatoi(pzTe

23、st)endl;/!this call will lead to died;coutpzT estlH atoi:atoi(pzTestl)endl;coutpzTest2n atoi:Hatoi(pzTest2)endl;coutpzTest22 atoi:uatoi(pzTest22)endl;coutpzTest3u atoi:Hatoi(pzTest3)endl;coutpzTest4u atoi:atoi(pzTest4)endl;coutpzTest5H atoi:natoi(pzTest5)endl;coutpzTest6 atoi:natoi(pzTest6)endl;co u

24、 t-my atoi-endl;co u tHpzTest my_atoi:my_atoi(pzTest)endl;coutpzTest 1 u my_atoi:umy_atoi(pzTest 1 )endl;coutpzTest2n my_atoi:umy_atoi(pzTest2)endl;coutpzTest22H my_atoi:my_atoi(pzTest22)end 1;coutpzTest3n my_atoi:umy_atoi(pzTest3)endl;coutpzTest4u my_atoi:my_atoi(pzTest4)end 1;coutpzTest5 my_atoi:m

25、y_atoi(pzTest5)end 1;coutpzTest6H my_atoi:,my_atoi(pzTest6)endl;return 0;result:1234 atoi:1234-1234 atoi:-1234+1234 atoi:123412 34 atoi:12a 1234 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:12al 234 my_atoi:0123a4 my_a

26、toi:123123-4 my_atoi:123Corporation*一filename-atol.cfunction(s)atol-atoi-_wtol-_wtoi-convertsconvertsconvertsconvertsa string to a longa string to an inta wide-character stringa wide-character string-*/toto/*/C/C+RunCopyright(c)All RightsTime Library1987,2002Reserved.byVersionBorland11.0Software/*$R

27、evision:9.4.2.1$*/#include#include#include#undefatoi/*macro instdlib*/*一*a longan intNameatoi,_wtol-converts a string to an integerUsagelong atoi(const char*nptr);long _wtol(const wchar_t*nptr);Prototype instdlib.hDescriptionConvert a string to a long integer.The syntax ofthe string must be:longissp

28、ace*sign digit digitOnly decimal integers are acceptable.Error handling is poor.The function will protectitself(crash-proof)but there is no defined methodto return an error indication to the caller.Theresult is undefined if the input string is invalid.Return value converted long value of the input s

29、tring.If the stringcannot be converted to a long,the return value is0.*_*/long _RTLENTRY _EXPFUNC _ttol(const _TCHAR*strP)(_TCHAR c;int is_neg;long result;result=0;/*default result is 0*/while(_istspace(c=*strP+)/*skip any whitespace characters*/if(c=_TEXT(+)II c=_TEXT(-)/*remember if negative sign

30、seen*/(is_neg=c=_TEXT();c=*strP+;/*skip sign,get next char*/)elseis_neg=0;while(c=_TEXTC0)ts,ignore overflow*/(result=result*c=*strP+;&c =O&(c)ptlocinfo;if(ptloci!=_ ptlocinfo)pt loci=_ updatetlocinfo();#else#endif/*skipwhile(*definedwhile(/*definedwhitespace*/isspace_mt(ptloci,(int)(_TUCHAR)*nptr)(

31、_MT)&(defined(.UNICODE)*/Jstspace(int)(_TUCHAR)*n p tr)(_MT)&(defined(_UNICODE)*/+nptr;c=(int)(_TUCHAR)*nptr+;sign=c;/*save sign indication*/if(c=_T(ptlocinfo;if(ptloci!=_ptlocinfo)pt loci=_ updatetlocinfo();skip whitespacewhile(_ isspace_mt(ptloci,(int)(_TUCHAR)*nptr)#else#endif*definedwhile(/*defi

32、ned(_MT)&!defined(.UNICODE)_istspace(int)(_TUCHAR)*n p tr)(_MT)&Idefined(_UNICODE)*/+nptr;c=(int)(_TUCHAR)*nptr+;sign=c;/*save sign indication*/if(c=|c=_T(+)c=(int)(_TUCHAR)*nptr+;/*skip sign*/total=0;while(c=_tchartodigit(c)!=-1)total=10 total+c;/*accumulatedigit*/c=(_TUCHAR)*nptr+;/*get next chari

33、f(sign=_T(-)return-total;elsereturn total;/*return result,negated if necessary*/)发表于 2006 年:02 25 II 01:25:00|评 论(0)原 c+试题(18)上地理课时,四个学生回答我国四大淡水湖的大小时说:甲:洞庭湖最大,洪泽湖最小,鄱阳湖第三。乙:洪泽湖最大,洞庭湖最小,鄱阳湖第二,太湖第三丙:鄱阳湖最小,洞庭湖第三。T:鄱阳湖最大,太湖最小,洪泽湖第二,洞庭湖第三。对于每个湖的大小,每人仅答对了一个。请判断四个湖的大小。请写出分析思路和代码。这是老师的问题,因为时间紧,我也在做,同时请教最好的设

34、计思路!/a,b,c,d=洞庭湖,洪泽湖,鄱阳湖,太湖#define N 4char aN=void fun(char a,const int i,cosnt int n)if(i=n-1)boolc1=(a0=a&a1!=b&a2II(a0!=a&a1=b&a2!=c)II(a0!=a&a1!=b&3 2=cc)bool c3=.if(c1&c2&c3&c4)for(int j=0;j n;j+)cout 第 j+1 “是”aj endl;)elsefor(int s=i;s n;s+)(char temp=as;as=ai;ai=temp;fun(a,i+1,n);temp=as;as=a

35、i;ai=as;)#include#includeclass Run(public:void Read()m_A=newm_B=newm_C=newm_D=newifstream in;int4;int4;int4;int4;in.open(rr.txt);char t;/while(!in.eof()for(int i=0;i!=4;+i)(in.get(t);m_Ai=atoi(&t);)for(i=0;i!=4;+i)(in.get(t);m_Bi=atoi(&t);)for(i=0;i!=4;+i)(in.get(t);m_Ci=atoi(&t);)for(i=0;i!=4;+i)(i

36、n.get(t);m_Di=atoi(&t);)/)void Set()(m_A=newint4;m_B=newint4;m_C=newint4;m_D=newint4;cout lakel|Iake2|Iake3cout m_Ai;coutB:H;for(i=0;i!=4:;+i)Iake4 m_Bi;cout m_Ci;cout m_Di;)void Sort()for(lake1=1;lakel!=5;+lakel)for(lake2=1;Iake2!=5;+Iake2)(if(lake2=(continue;)lakel)for(lake3=1;(Iake3!=5;+Iake3)if(

37、Iake3=(continue;):lakel 1 1Iake3=Iake2)for(lake4=1;Iake4!=5;+Iake4)if(lakel=(continue;):Iake4 1 1|Iake2=Iake411 Iake3=Iake4)if(lsRight(m_A)&lsRight(m_B)&lsRight(m_C)&lsRight(m_D)(coutlakel:M lakel;coutlake2:Mlake2;coutlake3:Hlake3;cout Iake4:lake4;)protected:bool lsRight(int order4)int count=0;if(la

38、ke1=order0)+count;if(lake2=order1)+count;if(lake3=order2)+count;if(lake4=order3)+count;return count:=1 ;protected:int*m_A;int*m_B;int*m_C;int*m_D;int lakel;int Iake2;int Iake3;int Iake4;);void main()(Run aRun;/aRun.Set();aRun.Read();aRun.Sort();)我刚写了一个啊,。在程序文件夹里面包含一个RR。TXT”里面包含(1243421334553124),这几个

39、数字的意思是A 人说:1 号湖是最大,2 号湖第二大,3 号湖第4 大,4 号湖第3 好。这里总共16个数字就是代表这个意思。但是不知道为什么程序找不到正确答案 郁闷ing错错拉上面的算法不对这应该是推理问题思路是这样的呵呵int a4,b4,c4,d4;四个学生的 答案 其中每个数组的第位到第四位都分别代表洞潘太洪a4=1,3,2,4;对于四个人的答案先初始化数组这个是甲 的答案b 4=O O O O ;c4=。o o。;d4=。;没有的就全给0int i;for(i=0;i4;i+)(ai=bi)?ai=bi=O;(bi=ci)?bi=ci=O;肯定有一个数组里面有且仅有一个元素不为0:接

40、着继续判断就是把这一项的对应项目全给0;接着就没儿个数字拉后来就要扫描数组进行判断拉我想出来拉但是没时间拉不写拉拉上面的算法不对这应该是推理问题思路是这样的呵呵int a4,b4,c4,d4;四个学生的 答案 其中每个数组的第一位到第四位都分别代表洞潘太洪a4=1,3,2,4;对于四个人的答案先初始化数组这个是甲的答案b4=。;c 4=0 0 。0 ;d4=.o ;没有的就全给0int i;for(i=0;i 4;i+)(ai=bi)?ai=bi=0;(bi=ci)?bi=ci=0;肯定有一个数组里面有且仅有一个元素不为0;接着继续判断 就是把这一项的对应项目全给0;接着就没几个数字拉后来就要

41、扫描数组进行判断拉我想出来拉但是没时间拉不写拉#include#includecl ass Runpublic:void Read()(m_A=new int4;m_B=new int4;m_C=new int4;m_D=new int4;ifstream in;in.open(nrr.txtn);char t;/while(!in.eof()/for(int i=0;i!=4;+i)(in.get(t);m_Ai=atoi(&t);)for(i=0;i!=4;+i)(in.get(t);m_Bi=atoi(&t);)for(i=0;i!=4;+i)(in.get(t);m_Ci=atoi(&

42、t);)for(i=0;i!=4;+i)(in.get(t);m_Di=atoi(&t);)/)cout A:voidSet()(m_A=newint4;m_B=newint4;m_C=newint4;m_D=newint4;cout lake1|Iake2|Iake3Iake4 m_Ai;cout m_Bi;cout m_Ci;cout m_Di;)void Sort()(for(lake1=1;(lakel!=5;+Iake1)for(lake2=1;(Iake2!=5;+Iake2)if(lake2=lakel)(continue;)for(lake3=1;jIake3!=5;+Iake

43、3)tif(Iake3=i=lakel 1 1Iake3=lake2)continue;)for(lake4=1;(Iake4!=5;+Iake4)if(lakel=(continue;)=Iake4 1 1|Iake2=Iake411 Iake3=Iake4)if(lsRight(m_A)&lsRight(m_B)&lsRight(m_C)&lsRight(m_D)(cout lakel:lakel;coutMlake2:nlake2;cout Hlake3:,lake3;cout Iake4:)nlake4;)protected:bool lsRight(int order4)int co

44、unt=0;if(lake1=order0)+count;if(lake2=order 1)+count;if(lake3=order2)+count;if(lake4=order3)+count;return count=1;)protected:int*m_A;int*m_B;int*m_C;int*m_D;int lakel;int Iake2;int Iake3;int Iake4;);void main()(Run aRun;/aRun.Set();aRun.Read();aRun.Sort();我刚写了一个啊、。在程序文件夹里面包含一个RR。TXT”里面包含(12434213345

45、53124),这几个数字的意思是A 人说:1 号湖是最大,2 号湖第二大,3 号湖第4 大,4 号湖第3 好。这里总共16个数字就是代表这个意思。但是不知道为什么程序找不到正确答案 郁闷ing问题分析:可以设洞庭湖、洪泽湖、鄱阳湖、太湖分别用变量A、B、C、D 表示。每个变量的取值是 14。因为每个只答对了一个,所以,他们的叙述可以表示为:甲:(A=1)+(B=4)+(C=3)=-1乙:(B=1)+(A=4)+(C=2)+(D=3)=-1丙:(B=4)+(A=3)=1T:(C=1)+(D=4)+(B=2)+(A=3)=-1只有以上条件都满足时,才能找到正确答案。FOR A=1 TO 4FOR

46、B=1 TO 4FOR C=1 TO 4D=10-A-B-CND P4=-1)THEN GOTO 5PRINT Dongting Lake1,HHongze Lake*,Panyang Lake,IFA,1 B*C*D 24THEN GOTO5P 1=(A=1)+(B=4)+(C=3)P2=(B=1)+(A=4)+(C=2)+(D=3)P3=(B=4)+(A=3)P4=(C=1)+(D=4)+(B=2)+(A=3)IFNOT(P1=-1ANDP2=-1 AND P3-1 A“Tai LakePRINT A,B,C,D5 NEXT C,B,AEND有两组答案:1.洞庭湖最大,洪泽湖第二,太湖第三

47、,潘阳湖第四2.太湖最大,鄱阳湖第二,洞庭湖第三,洪泽湖第四代码在下面,VC+6.0+Windows2000 下调试通过*条件分析:1.湖名分析:湖名:洞庭湖,洪泽湖,鄱阳湖,太湖简称:1,2,3,4在个位2.大小分析:0,1 ,2,3 分别为湖的大小,3 为最大,0 为最小在十位3.第i 人的言论是二维数组的笫一个下标依据以上原则把条件列入数组a44如:“洞庭湖最大”则是 a00=31*#include stdio.h”#include iostream.hint count=1;bool valid2(int a,int b)int ai=0;int aj=0;int bi=0;int b

48、j=O;ai=a/10;bi=b/10;aj=a%10;bj=b%10;if(ai=bi)&(aj=bj)|(ai!=bi)&(aj!=bj)return true;elsereturn false;bool valid(inta,int b,int c,int d)if(valid2(a,b)&valid2(a,c)&valid2(a,d)&valid2(b,c)&valid2(b,d)&valid2(c.d)returnelsereturntrue;false;void printLake(int a)switch(a%10)case1:cout “洞庭湖 v H a/10 endl;br

49、eak;case2:cout “洪泽湖 v v n a/10 endl;break;case3:cout “鄱阳湖”v a/1 0 endl;break;case4:cout “太湖”v a/10 endl;break;default:)break;)void printAII(int a,int b,int c,int d)(coutendl;coutn.-the right Hcount -BEGIN(the bigger the larger).u endl;printLake(a);printLake(b);printLake(c);printLake(d);coutn.-the ri

50、ghtnn HcountH nn-END-.-n endl;count+;)void main()(int i;int j;int k;int m;int a44=0;初始化条件数组a00=31;a01=02;a02=13;a03=24;必须填写 否则可能会少检验几种情况a10=32;a11=01;a12=23;a13=14;a20=03;a21=11;a30=33;a31=22;a32=11;a33=04;cout-BEGIN-endl;for(i=0;i 3;i+)for(j=0;j4;j+)(if(valid2(a0i,a1j)加快查找速度,从己不合理的分支退出(for(k=0;k 2;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁