




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、/*1、打印出所有的"水仙花數(shù)"。所謂"水仙花數(shù)"是指一個(gè)三位數(shù),其各位數(shù)字立方和等于該數(shù)本身。例如,153是一水仙花數(shù),因?yàn)?53=13+53+33。*/#include<iostream.h>voidmain()inti,a=0,b=0,c=0;for(i=100;i<1000;i+)a=i%10;b=i/10%10;c=i/100%10;if(a*a*a+b*b*b+c*c*c=i)cout<<"i="<<i<<endl;/*2、一個(gè)數(shù)如果恰好等于它的因子之和,這個(gè)數(shù)就稱為&
2、quot;完數(shù)"。例如,6的因子為1、2、3,而6=1+2+3,因此6是"完數(shù)"。編程序找出1000之內(nèi)的所有完數(shù),并按下面的格式輸出其因子:6-1,2,3*/#include<iostream.h>voidmain()inti,j,sum=0,a50,k,t;for(i=1;i<=1000;i+)sum=0;for(j=1;j<i;j+)if(i%j=0)sum+=j;ak+=j;t=k;if(sum=i)cout<<i<<"->"for(k=0;k<t;k+)cout<<
3、;ak;if(k<t-1)cout<<","cout<<endl;k=0;/*3、求Sn=a+aa+aaa*-+aa-a之值,其中a是一個(gè)數(shù)字。例如:2+22+222+22222(此時(shí)n=5),n由鍵盤輸入。*/#include<iostream.h>voidmain()doublea,sn=0.0,sum=0.0;intn,i;cout<<"pleaseinputanumber"cin>>a;cout<<"pleaseinputnnumber"cin>
4、;>n;sn=a;sum=a;for(i=2;i<=n;i+)sum=sum*10+a;sn+=sum;cout<<"Sn="<<sn<<endl;/*4、一球從100米高度自由落下,每次落地后反跳回原高度的一半,再落下。求它在第10次落地時(shí),共經(jīng)過了多少米?第10次反彈多高?*/#include<iostream.h>voidmain()doubleh1=100,h2=100,sum=0.0;inti;for(i=1;i<=10;i+)sum+=h2;h1=h1/2.0;h2=h1*2;cout<&l
5、t;"sum="<<sum<<""<<"h1="<<h1<<endl;/*5、猴子吃桃問題。猴子第一天摘下若干個(gè)桃子,當(dāng)即吃了一半,還不過癮,又多吃了一個(gè)。第二天早上又將剩下的桃子吃掉了一半,又多吃了一個(gè)。以后每天早上都吃了前一天剩下的一半零一個(gè)。到第10天早上想再吃時(shí),見只剩一個(gè)桃子了。求第一天共摘了多少桃子。*/#include<iostream.h>voidmain()intnumber,i;number=1;for(i=10;i>1;i-)numbe
6、r=(number+1)*2;cout<<"number="<<number<<endl;第4章函數(shù)/*1、寫一函數(shù)用"氣泡法"對輸入的10個(gè)字符按由小到大的順序排列。*/#include<iostream.h>voidmain()inti,j,temp,a10;cout<<"pleaseinputtennumbers:n"for(i=0;i<10;i+)cin>>ai;for(i=0;i<10;i+)/每循環(huán)一次確定數(shù)組中一個(gè)數(shù)的位置for(j=i+
7、1;j<10;j+)/每次循環(huán)對比一個(gè)數(shù)的大小if(ai>aj)temp=aj;aj=ai;ai=temp;cout<<"resortresult="for(i=0;i<10;i+)cout<<ai<<""/*2、用遞歸方法求n階勒讓得多項(xiàng)式的值,遞歸公式為1(n=0)Pn(x)=x(n=1)(2n-1)*x*Pn-1(x)-(n-1)*Pn-2(x)/n(n>1)*/#include<iostream.h>doublefun(double,double);voidmain()dou
8、blen,x,sum;cout<<"inputnandx"<<endl;cin>>n>>x;sum=fun(n,x);cout<<"P"<<n<<"("<<x<<")"<<"="<<sum<<endl;doublefun(doublen1,doublex1)if(n1=0)return1;elseif(n1=1)returnx1;elseif(n1>
9、;1)return(2*n1-1)*x1*fun(n1-1,x1)-(n1-1)*fun(n1-2,x1)/n1;/*3、編寫一函數(shù),由實(shí)參傳來一字符串,統(tǒng)計(jì)此字符串中字母、數(shù)字、空格、和其它字符的個(gè)數(shù),并在主函數(shù)中輸入字符串以及輸出上述結(jié)果。*/#include<iostream.h>voidjudge(chara);voidmain()constintsize=100;charasize;cin.getline(a,size);judge(a);voidjudge(chara100)/判斷字符類型intletter=0,number=0,others=0,i=0;while(a
10、i!='0')if(ai>='a'&&ai<='z')|(ai>='A'&&ai<='z')letter+;/統(tǒng)計(jì)字母個(gè)數(shù)elseif(ai>='0'&&ai<='9')number+;/統(tǒng)計(jì)數(shù)字個(gè)數(shù)elseothers+;/統(tǒng)計(jì)其他數(shù)個(gè)數(shù)i+;cout<<"letter="<<letter<<"number="<<
11、;number<<"others="<<others<<endl;/*4、給出年、月、日,計(jì)算該日是該年的第幾天。*/#include<iostream.h>intlead(int);voidmain()intly,year,month,date,i,sum=0;cout<<"inputyear、month、date:"cin>>year>>month>>date;inta12=31,0,31,30,31,30,31,31,30,31,30,31;ly=lea
12、d(year);if(ly=1)a1=29;/366天elsea1=28;/365天for(i=0;i<month-1;i+)/當(dāng)前月之前所有月天數(shù)累加和sum+=ai;sum+=date;/加上當(dāng)前月天數(shù)cout<<"你輸入的日期是當(dāng)年的第"<<sum<<"天";intlead(inty)/判斷閏年if(y%4=0&&y%100!=0)|(y%400=0)return1;/是閏年elsereturn0;/不是閏年/*5、寫兩個(gè)函數(shù),分別求兩個(gè)整數(shù)的最大公約數(shù)和最小公倍數(shù),用主函數(shù)調(diào)用這兩個(gè)函數(shù),
13、并輸出結(jié)果,兩個(gè)整數(shù)由鍵盤輸入。*/#include<iostream.h>intcdivisor(int,int);intcmultiple(int,int,int);voidmain()intx,y,d,m;cout<<"inputtwonumber:"cin>>x>>y;d=cdivisor(x,y);m=cmultiple(x,y,d);cout<<"commondivisoris"<<d<<endl<<"commonmultipleis&q
14、uot;<<m<<endl;intcdivisor(intx1,inty1)/最大公約數(shù)intr,temp;if(x1<y1)temp=x1;x1=y1;y1=temp;while(x1%y1)/當(dāng)較大數(shù)除以較小數(shù)余數(shù)等于0時(shí),較小數(shù)為最大公約數(shù)r=x1%y1;x1=y1;y1=r;returny1;)intcmultiple(intx2,inty2,intd1)/最小公倍數(shù)(returnx2*y2/d1;/兩數(shù)相乘結(jié)果除以它們的最大公約數(shù)為最小公倍數(shù))/*6、寫一函數(shù),將兩個(gè)字符串連接。*/#include<iostream.h>#include&l
15、t;string.h>voidmain()(constintsize=100;charasize,bsize;cout«"inputtwostring:"«endl;cin.getline(a,size);cin.getline(b,size);strcat(a,b);cout«"a="«a«endl;)/*7、寫一函數(shù),將一個(gè)字符串的元音字母復(fù)制到另一個(gè)字符串,然后輸出。*/#include<iostream.h>#include<string.h>voidscpy(cha
16、r*,char*);voidmain()(constintsize=100;charasize="Helloworld"charbsize="Net"cout«"a="«a«"b="«b«endl;scpy(a,b);cout«"a="«a«endl;)voidscpy(char*p,char*q)(while(*q!='0')(if(*q='a'|*q='A'|*q=
17、'e'|*q='E'|*q='i'|*q=T|*q='o'|*q='O'|*q='u'|*q='U')*p+=*q;q+;)/*8、寫一函數(shù),輸入一個(gè)四位數(shù)字,要求輸出這4個(gè)數(shù)字字符,但每兩個(gè)數(shù)字間空一空格。如輸入1990,應(yīng)輸出"1990"o*/#include<iostream.h>#include<string.h>voidouts(chara);voidmain()constintsize=10;charasize;cin.getl
18、ine(a,size);outs(a);voidouts(chara10)inti;if(strlen(a)<=4)for(i=0;i<4;i+)cout<<ai<<""elsecout<<"inputerror."<<endl;第5章數(shù)組/*1、將一個(gè)數(shù)組中的值按逆序重新存放,例如,原來順序?yàn)椋篴、b、c、d。要求改為:d、c、b、a。*/#include<iostream.h>voidback(char*);voidmain()chara50="abcdefg"
19、;cout<<"a="<<a<<endl;back(a);#include<iostream.h>voidback(char*p)inti=0;while(*p!='0')p+;/把指針定位到字符串末尾i+;/統(tǒng)計(jì)字符個(gè)數(shù)cout<<"a="for(;i>0;i-)/逆序輸出p-;cout<<*p;cout<<endl;/*2、打印出楊輝三角形(要求打印出前15行)。(楊輝三角最本質(zhì)的特征是,它的兩條斜邊都是由數(shù)字1組成的,而其余的數(shù)則是等于它肩上的
20、兩個(gè)數(shù)之和。)*/#include<iostream.h>voidtri(inta15);voidmain()inti,j,a1515;tri(a);cout<<"a="for(i=0;i<15;i+)/遍歷整個(gè)數(shù)組for(j=0;j<=i;j+)cout<<aij;if(aij>=1&&aij<=9)/當(dāng)輸出個(gè)位數(shù)之后輸出4個(gè)空格保持整齊cout<<""elseif(aij>=10&&aij<=99)/當(dāng)輸出十位數(shù)之后輸出3個(gè)空格保持整齊
21、cout<<""elseif(aij>=100&&aij<=999)/當(dāng)輸出百位數(shù)之后輸出2個(gè)空格保持整齊cout<<""elsecout<<""/當(dāng)輸出百位數(shù)之后輸出1個(gè)空格保持整齊cout<<endl<<""/每行輸出結(jié)束后換行voidtri(inta1515)inti,j;for(i=0;i<15;i+)for(j=0;j<=i;j+)if(j=0|j=i)/三角形第一列和對角線被賦值為1aij=1;elsea
22、ij=ai-1j-1+ai-1j;/算出其余的數(shù)組元素/*3、編一程序,將兩個(gè)字符串連接起來,不要用strcat函數(shù)。*/#include<iostream.h>#include<string.h>voidscat(char*,char*);voidmain()constintsize=100;charasize="Hello"charbsize="Bye"cout<<"a="<<a<<"b="<<b<<endl;scat(a,b)
23、;cout<<"a="<<a<<"afterlinkaandb"<<endl;voidscat(char*p,char*q)while(*p!='0')/確定數(shù)組a的插入位置p+;while(*q!='0')*p=*q;p+;q+;/*4、打印"魔方陣"。所謂魔方陣是指這樣的方陣,它的每一行、每一列和對角線之和均相等。例如:三階魔方陣:816357492要求打印由1到n2的自然數(shù)構(gòu)成的所有魔方陣。*/方法一:輸出N介魔方陣,但每介只輸出一種。#includ
24、e<iostream.h>voidsquare(inta10,intk,intn);voidmain()intn,i,j,k,a1010=0;cout<<"inputanoddnumber:"<<endl;cin>>n;k=n/2;/確定第一個(gè)數(shù)列數(shù)square(a,k,n);for(i=0;i<n;i+)for(j=0;j<n;j+)cout<<"t"<<aij;cout<<endl;voidsquare(inta10,intk,intn)inti,j;fo
25、r(i=1,j=0;i<=n*n;i+,j-,k+)/n為階數(shù),從1開始給數(shù)組賦值if(j<0&&k>=n)/當(dāng)數(shù)組行列都越出范圍時(shí)候,確定數(shù)組正確位置j+=2;k-=1;elseif(j<0)/當(dāng)數(shù)組行越出范圍時(shí)候,確定數(shù)組正確位置j+=n;elseif(k>=n)/當(dāng)數(shù)組列越出范圍時(shí)候,確定數(shù)組正確位置k-=n;elseif(ajk!=0)/當(dāng)數(shù)組原位置有數(shù)時(shí)候,確定數(shù)組位置j+=2;k-=1;ajk=i;/方法二:輸出N介魔方陣所有魔方陣。#include<string>#include<iomanip>#includ
26、e<iostream>usingnamespacestd;voidprintA(int*p,intn)/輸出這個(gè)n階魔方陣cout<<endl<<"下面是一個(gè)"<<n<<"階魔方陣:"<<endl;inti,j;for(i=0;i<n;i+)for(j=0;j<n;j+)cout<<setw(4)<<pij;cout<<endl;cout<<endl<<endl;boolJudge(int*p,intn)/判斷是
27、否為n階魔方陣inti,j,sum=0,NowSum=0;boolYesOrNo=true;for(j=0;j<n;j+)/第一行總和sum+=p0j;for(i=1;i<n;i+)/判斷每行總和是否相等NowSum=0;for(j=0;j<n;j+)NowSum+=pij;if(NowSum!=sum)YesOrNo=false;gotoEND;for(i=0;i<n;i+)/每列是否相等NowSum=0;for(j=0;j<n;j+)NowSum+=pji;if(NowSum!=sum)YesOrNo=false;gotoEND;NowSum=0;for(i=
28、0,j=0;i<n,j<n;i+,j+)/主對角線是否相等NowSum+=pij;if(NowSum!=sum)YesOrNo=false;gotoEND;NowSum=0;for(i=n-1,j=0;i>=0,j<n;i-,j+)/次對角線是否相等NowSum+=pij;if(NowSum!=sum)YesOrNo=false;gotoEND;END:returnYesOrNo;voidcombination(int*p,intn,int*a)/求m=n*n個(gè)數(shù)(1,2,3m)的全排列intm=n*n;staticintNum=0;int*b_val=newintm;
29、intc=0,k,i,j;b_valc=-1;/一維數(shù)組首地址的值賦-1c0-1while(b_val0<m)/-1if(+b_valc<m)/分別從0開始累加每個(gè)元素值,并限制不超出最大階數(shù)/b001011202780.88判斷魔方89012345678/7880.87判斷魔方8889012345687/67.70.7688012345768/012345786/012345867./876543210for(k=0;k<c;k+)/是否與前面數(shù)字重復(fù),如有重復(fù)元素跳出,否則使下標(biāo)等于C下標(biāo)if(b_valk=b_valc)break;if(k=c)/
30、如果沒有重復(fù)元素,就可以確定當(dāng)前元素值,并繼續(xù)排列下一個(gè)下標(biāo)的數(shù)組元素if(c+1<m)/123.78如果不滿足條件,則生成了一組排列方式,否則繼續(xù)排列下一個(gè)元素/8+c;/123.78b_valc=-1;/continue;else/生成了一組排列方式k=-1;for(i=0;i<n;i+)for(j=0;j<n;j+)pij=ab_val+k;/a0-a8/判斷是否為n階魔方陣if(Judge(p,n)printA(p,n);elsec-;deleteb_val;voidevaluate(int*p,intn)/給n階方陣的元素賦值inti;int*AllNum=newi
31、nt3*3;for(i=1;i<=n*n;i+)AllNumi-1=i;combination(p,n,AllNum);deleteAllNum;voidmain()inti,n,*a;strings;do/輸入n階方陣的階數(shù)ncout<<"請輸入n階方陣的階數(shù)n(退出程序按e或E鍵廣”;cin>>s;if(!strcmp(s.c_str(),"e")|!strcmp(s.c_str(),"E")break;elseif(s.find_first_not_of("0123456789")!=st
32、ring:npos)cout<<"請輸入有效的數(shù)字,不能含有非數(shù)字的字符。"<<endl;continue;elsen=atoi(s.c_str();if(n<1)cout<<"請輸入有效的數(shù)字,必須>=1。"<<endl;continue;/分配內(nèi)存a=newint*n;for(i=0;i<n;i+)ai=newintn;cout<<"正在運(yùn)算,請等待。"<<endl;/給n階方陣的元素賦值evaluate(a,n);cout<<&
33、quot;運(yùn)算結(jié)束!"<<endl;for(i=0;i<n;i+)deleteai;deletea;while(1);return;/*5、求一個(gè)3x3矩陣對角線元素之和。*/#include<iostream.h>intdia(inta3);voidmain()inti,j,sum,a33=2,3,5,6,2,3,1,9,0;cout<<"a="for(i=0;i<3;i+)for(j=0;j<3;j+)cout<<aij;cout<<endl<<""s
34、um=dia(a);cout<<"nsum="<<sum<<endl;intdia(inta33)inti,j,sum=0;for(i=0;i<3;i+)/主對角線之和for(j=i;j<=i;j+)sum+=aij;for(j=0;j<3;j+)/另一個(gè)對角線之和for(i=2-j;i<=2-j;i+)if(i!=j)/避免重復(fù)累加兩個(gè)對焦向重合的元素sum+=aij;returnsum;/返回對角線員素之和/*6、編寫一個(gè)程序,將字符數(shù)組s2中的全部字符拷貝到字符數(shù)組s1中。不用strcpy函數(shù)。拷貝時(shí),
35、9;0'也要拷貝過去。'0'后面的字符不拷貝。*/#include<iostream.h>voidscopy(chara,charb);voidmain()inti;chara10;charb10="Hello"scopy(a,b);for(i=0;ai!='0'i+)cout<<ai;cout<<endl;voidscopy(chara,charb)inti;for(i=0;bi!='0'i+)ai=bi;ai='0'/*7、用篩選法求100之內(nèi)的素?cái)?shù)。(所謂素?cái)?shù)就
36、是除了1和它本身以外,不能再被別的整數(shù)整除,這種數(shù)稱作素?cái)?shù)(也稱質(zhì)數(shù))。)*/#include<iostream.h>voidmain()inti,j;for(i=1;i<=100;i+)for(j=2;j<i;j+)/判斷素?cái)?shù)if(i%j!=0);elsebreak;/不是素?cái)?shù)if(i=j)/相等為素?cái)?shù)cout<<""<<i;cout<<endl;/*8、用選擇法對10個(gè)整數(shù)排序。*/#include<iostream.h>voidcsort(inta10);voidmain()inti;inta10
37、=6,4,2,7,9,0,1,6,3,0;for(i=0;i<10;i+)/輸出原數(shù)組數(shù)據(jù)順序cout<<ai;cout<<endl;csort(a);for(i=0;i<10;i+)/輸出排序后的順序cout<<ai;cout<<endl;voidcsort(inta10)/排序inti,j,k,temp=0;for(i=1;i<10;i+)k=i;for(j=k+1;j<10;j+)/找出最小數(shù)的數(shù)組下標(biāo)if(ak>aj)k=j;if(k!=i)temp=ai;/把數(shù)放到正確位置ai=ak;ak=temp;第6章
38、指針/*1、在主函數(shù)中輸入10個(gè)字符串。用另一函數(shù)對它們排序。然后在主函數(shù)輸出這10個(gè)已排好序的字符串。(用指針實(shí)現(xiàn))*/#include<iostream.h>voidpsort(int*p);voidmain()inti,a10;cout<<"pleaseinputtennumbers:n"for(i=0;i<10;i+)cin>>ai;psort(a);cout<<"resortresult="for(i=0;i<10;i+)cout<<ai<<"&quo
39、t;voidpsort(int*p)inti,j,temp;for(i=0;i<10;i+)/每循環(huán)一次確定數(shù)組中一個(gè)數(shù)的位置for(j=i+1;j<10;j+)/每次循環(huán)對比一個(gè)數(shù)的大小if(pi>pj)temp=pj;pj=pi;pi=temp;/*2、輸入一個(gè)字符串,內(nèi)有數(shù)字和非數(shù)字字符,如A123x4561233?8997jhlkll將其中連續(xù)的數(shù)字作為一個(gè)整數(shù),依次存放到一數(shù)組a中,統(tǒng)計(jì)共有多少個(gè)整數(shù),并輸出這些數(shù)。*/#include<iostream.h>#include<string.h>#include<windows.h>
40、;intcharge(int*,char*);voidmain()inta50,i,numb;charb50;cout<<"pleaseinputacharacterstring:"<<endl;cin.getline(b,50);system("cls");cout<<"yourcharacterstringis"cout.write(b,strlen(b)<<endl;numb=charge(a,b);for(i=0;i<numb;i+)cout<<"a&
41、quot;<<i<<"="<<ai;cout<<endl<<"totalnumbers="<<numb<<endl;intcharge(int*q,char*p)/*q指向新數(shù)組,*p指向初始數(shù)組intnumb=0;for(;*p!='0'p+)/判斷每個(gè)字符if(*p>='0'&&*p<='9')*q=(*p)-'0'/將字符型整數(shù)轉(zhuǎn)換成整型整數(shù)賦值給新數(shù)組p+;while(*p
42、>='0'&&*p<='9')/判斷是否有連續(xù)字符型整數(shù)*q=(*q)*10+(*p)-'0');/將連續(xù)字符型整數(shù)轉(zhuǎn)換成一個(gè)整型整數(shù)賦值給新數(shù)組p+;q+;numb+;/統(tǒng)計(jì)整數(shù)的個(gè)數(shù)returnnumb;/*3、用指向指針的指針的方法對5個(gè)字符串排序并輸出。*/#include<iostream.h>#include<string.h>voidsort(char*str);voidmain()inti;char*string5;cout<<"輸入5個(gè)字符串:"
43、<<endl;for(i=0;i<5;i+)stringi=newchar10;cin.getline(*(string+i),50);sort(string);for(i=0;i<5;i+)deletestringi;voidsort(char*str)inti=0,j;char*p=0;for(i=0;i<4;i+)for(j=i+1;j<5;j+)if(strcmp(*(str+i),*(str+j)<0)p=*(str+i);*(str+i)=*(str+j);*(str+j)=p;cout<<"aftersortthec
44、hars:"<<endl;for(i=0;i<5;i+)cout<<*(str+i)<<endl;*/*4、統(tǒng)計(jì)一字符串在另一個(gè)字符串中出現(xiàn)的次數(shù)。#include<iostream.h>#include<string.h>intchange(char*,char*);voidmain()intsum;chara10="dog"charb20="sdlkdogsddydodog"cout.write(a,10)<<endl;cout.write(b,20)<&l
45、t;endl;sum=change(a,b);cout<<"sum="<<sum<<endl;intchange(char*p,char*q)intsum=0,i=0;while(*q!='0')while(*p=*q&&*p!='0')/對比是否含有相等字符串*p+;*q+;i+;if(*p='0')sum+=1;/含有字符串個(gè)數(shù)p=p-i;/第一個(gè)字符串重新定位q=q-i;/第二個(gè)字符串重新定位i=0;/重新累加移動次數(shù)q+;returnsum;/*5、有n個(gè)整數(shù),使其前
46、面各數(shù)順序向后移m個(gè)位置,最后m個(gè)數(shù)變成最前面的m個(gè)數(shù).n和m從鍵盤入。*/#include<iostream.h>#include<string.h>voidcharge(inta,int,int);voidmain()inti,n,m,a50;cout<<"請輸入n的值:"cin>>n;cout<<"請輸入移動位數(shù):"cin>>m;cout<<"請輸入整數(shù):"for(i=0;i<n;i+)cin>>ai;cout<<&
47、quot;您輸入的整數(shù)為:"for(i=0;i<n;i+)cout<<ai<<""cout<<endl;charge(a,n,m);cout<<"移動后的整數(shù)為:"for(i=0;i<n;i+)cout<<ai<<""cout<<endl;voidcharge(inta口,intn,intm)/n為整數(shù)個(gè)數(shù),向右移動m個(gè)位置inti,j;for(j=0;j<m;j+)移動m個(gè)位置for(i=n-1;i>=0;i-)/移
48、動一個(gè)位置就要移動每一個(gè)數(shù)組元素ai+1=ai;a0=an;/*6、有n個(gè)人圍成一圈,順序排號。從第1個(gè)人開始報(bào)數(shù)(從1到3報(bào)數(shù)),凡報(bào)到3的人退出圈子,問最后留下的是原來第幾號的那位。*/#include<iostream.h>voidchange(inta,intn);voidmain()inti,a50,n;cout<<"輸入人數(shù):"cin>>n;for(i=0;i<n;i+)ai=i+1;change(a,n);voidchange(inta,intn)intqnumber=0,i=0,k=0;while(n-qnumber
49、>1)/直到只剩下1人時(shí)if(ai!=0)k+;/報(bào)數(shù)if(k=3)ai=0;/退出圈子的人qnumber+;/退出的總?cè)藬?shù)k=0;/重新開始報(bào)數(shù)i+;if(i=n)i=0;/當(dāng)所有人都報(bào)過數(shù)之后重新每人再次報(bào)數(shù)for(i=0;i<n;i+)if(ai!=0)cout<<ai<<""/*7、寫一函數(shù),實(shí)現(xiàn)兩個(gè)字符串的比較。即自己寫一個(gè)strcmp函數(shù)。*/#include<iostream.h>#include<string.h>intchange(char*,char*);voidmain()intresult;
50、chara10="dog"charb20="sdlkdogsddydodog"cout.write(a,10)<<endl;cout.write(b,20)<<endl;result=change(a,b);cout<<"result="<<result<<endl;intchange(char*p,char*q)intsum=0,i=0,flag=0;while(*p!='0'&&*q!='0')if(*p>*q)fla
51、g=1;/第一個(gè)字符串大于第二個(gè)字符串返回1break;if(*p<*q)flag=-1;/第二一個(gè)字符串大于第一個(gè)字符串返回-1break;if(*p=*q)&&*(p+1)='0'&&*(q+1)!='0')flag=-1;/第二一個(gè)字符串大于第一個(gè)字符串返回-1break;*p+;*q+;returnflag;/*8、將一個(gè)5x5的矩陣中最大的元素放在中心,四個(gè)角分別放四個(gè)最小的元素(順序?yàn)?/從左到右,從上到下順序依次從小到大存放),寫一函數(shù)實(shí)現(xiàn)之。用main函數(shù)調(diào)用。#include<iostream.h&g
52、t;voidpsort(inta);voidmain()inti;inta25=5,3,52,6,2,1,8,0,23,56,7,21,23,4,57,62,15,31,45,6,43,78,12,53,41;for(i=0;i<25;i+)cout<<""<<ai;cout<<endl;psort(a);voidpsort(inta)inti,j,k=0,temp,b55;for(i=0;i<25;i+)/每循環(huán)一次確定數(shù)組中一個(gè)數(shù)的位置for(j=i+1;j<25;j+)/每次循環(huán)對比一個(gè)數(shù)的大小if(ai>a
53、j)temp=aj;aj=ai;ai=temp;for(i=0;i<5;i+)for(j=0;j<5;j+)bij=ak+;temp=b44;/確定5個(gè)位置的數(shù)值b44=b22;b22=temp;temp=b01;b01=b04;b04=temp;temp=b02;b02=b40;b40=temp;temp=b03;b03=b44;b44=temp;for(i=0;i<5;i+)for(j=0;j<5;j+)cout<<"t"<<bij;cout<<endl;第7章結(jié)構(gòu)體與共用體/*1、用指針和結(jié)構(gòu)體實(shí)現(xiàn)一雙向鏈表
54、,并實(shí)現(xiàn)其相應(yīng)的增、刪、遍歷功能,并在實(shí)例中應(yīng)用它。*/#include<iostream.h>typedefstructnodeintnumber;structnode*next;structnode*parent;Node,*LinkNode;classLinkClasspublic:LinkNodefirst,current;/頭指針,當(dāng)前指針voidinit();/初始化函數(shù)LinkNodeInsert(intdata,LinkNodecur);/插入函數(shù)voidRemove(LinkNodep);/刪除函數(shù)voidPrior(LinkNodehead);/遍歷函數(shù);voi
55、dLinkClass:init()structnode*head=newstructnode;structnode*tail=newstructnode;head->parent=NULL;head->next=tail;tail->parent=head;tail->next=NULL;first=current=head;LinkNodeLinkClass:Insert(intdata,LinkNodecur)structnode*newNode=newstructnode;newNode->number=data;newNode->next=cur-&
56、gt;next;cur->next=newNode;newNode->parent=cur;newNode->next->parent=newNode;cur=newNode;returncur;voidLinkClass:Prior(LinkNodehead)LinkNodecur=head->next;while(cur->next!=NULL)cout<<cur->number<<""cur=cur->next;cout<<""<<endl;voidLi
57、nkClass:Remove(LinkNodecur)LinkNodetemp=cur;temp->parent->next=temp->next;temp->next->parent=temp->parent;delete(temp);voidmain()LinkClasslc;lc.init();numberLinkNodecur=lc.current;for(inti=0;i<=10;i+)/用循環(huán)來初始化結(jié)構(gòu)體內(nèi)的cur=lc.Insert(i,cur);/調(diào)用插入函數(shù)LinkNodehead=lc.first;cout<<&quo
58、t;沒調(diào)用刪除函數(shù)的遍歷:"<<endl;lc.Prior(head);/遍歷函數(shù)for(intj=0;j<=3;j+)/刪除元素6cur=cur->parent;lc.Remove(cur);/執(zhí)行刪除函數(shù)cout<<"調(diào)用刪除函數(shù)后的遍歷:"<<endl;lc.Prior(head);/*2、用指針和結(jié)構(gòu)體實(shí)現(xiàn)棧及其方法,并在實(shí)例中應(yīng)用它。*/#include<stdlib.h>#include<iostream.h>#defineSTACK_INIT_SIZE100#defineSTAC
59、KIN10structstackint*top;int*base;intstacksize;intinitstack(stack&s)s.base=(int*)malloc(STACK_INIT_SIZE*sizeof(int);if(!s.base)return0;s.top=s.base;s.stacksize=STACK_INIT_SIZE;return1;intgettop(stacks,int&e)if(s.top=s.base)return0;e=*(s.top-1);return1;intpush(stack&s,inte)if(s.top-s.base&
60、gt;=s.stacksize)s.base=(int*)realloc(s.base,(s.stacksize+STACKIN)*sizeof(int);if(!s.base)return0;s.top=s.base+s.stacksize;s.stacksize+=STACKIN;*s.top+=e;return1;intpop(stack&s,int&e)if(s.top=s.base)return0;e=*-s.top;return1;voidmain()stacks;intresult,e=0;result=s.initstack(s);if(result=1)cou
61、t<<"建棧成功!"<<endl;elsecout<<"建棧失敗!"<<endl;for(inti=0;i<5;i+)result=s.push(s,i);if(result=1)cout<<"初始化棧成功!"<<endl;elsecout<<"初始化棧失敗!"<<endl;s.gettop(s,e);cout<<"棧頂元素為:"<<e<<endl;result=s.pop(s,e);if(result=1)cout<<"刪除棧頂元素成功!"<
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 西安郵電大學(xué)《美術(shù)鑒賞與批評》2023-2024學(xué)年第二學(xué)期期末試卷
- 浙江理工大學(xué)《木材工業(yè)自動化》2023-2024學(xué)年第二學(xué)期期末試卷
- 南昌大學(xué)共青學(xué)院《免疫學(xué)與病原生物學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 撫順師范高等專科學(xué)?!镀放菩蜗髮m?xiàng)設(shè)計(jì)一》2023-2024學(xué)年第二學(xué)期期末試卷
- 證券從業(yè)資格證券投資顧問勝任能力考試證券投資顧問業(yè)務(wù)真題1
- 山東勞動職業(yè)技術(shù)學(xué)院《智能車輛環(huán)境感知技術(shù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025遼寧省安全員B證(項(xiàng)目經(jīng)理)考試題庫
- 湖南冶金職業(yè)技術(shù)學(xué)院《企業(yè)生產(chǎn)與技術(shù)管理》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025年陜西省建筑安全員-B證(項(xiàng)目經(jīng)理)考試題庫
- 湖南電氣職業(yè)技術(shù)學(xué)院《面向數(shù)據(jù)科學(xué)的語言》2023-2024學(xué)年第二學(xué)期期末試卷
- 血透室停電停水應(yīng)急預(yù)案
- 人教版小學(xué)數(shù)學(xué)三年級下冊第一單元《位置與方向(一)》單元測試
- 《零售藥店實(shí)務(wù)》期末考試復(fù)習(xí)題及答案
- 校園安全案例解析
- 《病理科(中心)建設(shè)與配置標(biāo)準(zhǔn)》
- 《校園廉潔教育》主題班會課件全文
- 北京版(一起)英語六年級下冊單詞默寫表
- 2024-2025學(xué)年七年級英語上冊單詞默寫冊
- 《直列式兩缸發(fā)動機(jī)曲軸的機(jī)械加工工藝及夾具設(shè)計(jì)》開題報(bào)告2600字
- 2024年度影視制作服務(wù)承包合同3篇
- 《地圖的發(fā)展》課件
評論
0/150
提交評論