c語言程序設(shè)計(jì)題庫.docx_第1頁
c語言程序設(shè)計(jì)題庫.docx_第2頁
c語言程序設(shè)計(jì)題庫.docx_第3頁
c語言程序設(shè)計(jì)題庫.docx_第4頁
c語言程序設(shè)計(jì)題庫.docx_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余44頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第二題#include void main() char ch20; int i; gets(ch); for(i=0;i=a&chi=A&chi=Z) chi=chi+32; puts(ch); 第三題#include void main() int n,i,max=0; int a20; scanf(%d,&n); for(i=0;in;i+) scanf(%d,&ai); for(i=0;in;i+) if(maxai) max=ai; printf(%d,max); 第四題#include double f(int);void main() int n; scanf(%d,&n); printf(%.8f,f(n);double f(int n) int i; double result=0.0; for(i=1;i=n;i+) result=result+(double)1/i; return result; 5題目標(biāo)題:汽水瓶(諶海軍)題目描述:有這樣一道智力題:“某商店規(guī)定:三個(gè)空汽水瓶可以換一瓶汽水。小張手上有十個(gè)空汽水瓶,她最多可以換多少瓶汽水喝?”答案是5瓶,方法如下:先用9個(gè)空瓶子換3瓶汽水,喝掉3瓶滿的,喝完以后4個(gè)空瓶子,用3個(gè)再換一瓶,喝掉這瓶滿的,這時(shí)候剩2個(gè)空瓶子。然后你讓老板先借給你一瓶汽水,喝掉這瓶滿的,喝完以后用3個(gè)空瓶子換一瓶滿的還給老板。如果小張手上有n個(gè)空汽水瓶,最多可以換多少瓶汽水喝?輸入描述:輸入為一個(gè)正整數(shù)n(1=n=100),表示空汽水瓶個(gè)數(shù)。#includevoid main()int n,m=0,sum=0,i=0;scanf(%d,&n);while(n=3)m=n/3; n=n-2*m; sum=sum+m;if(n=2) sum+;else if(n2) sum=sum+i; printf(%d,sum);6題目標(biāo)題:栽樹(彭玉旭)題目描述:在某食堂門前有n(n200)個(gè)樹坑,編號(hào)是從0n-1,開始時(shí)是沒有樹的。每個(gè)月,園林工人都會(huì)在編號(hào)ab(0=a=b=n-1)之間栽樹(包括a,b),如果樹坑原來有樹,則不需要從新栽樹。請(qǐng)計(jì)算4個(gè)月后,食堂門前總共有多少棵樹。輸入描述:第一個(gè)整數(shù)是n ,接下來有 8個(gè)整數(shù),分別為每個(gè)月栽樹的編號(hào)。輸出描述描述:食堂門前樹的總數(shù)。第六題#includevoid main() int n; int a1,b1,a2,b2,a3,b3,a4,b4; int result=0; int i; scanf(%d,&n); scanf(%d%d,&a1,&b1); scanf(%d%d,&a2,&b2); scanf(%d%d,&a3,&b3); scanf(%d%d,&a4,&b4); for(i=0;i=a1&i=a2&i=a3&i=a4&i=b4) result+; printf(%d,result); 7題目標(biāo)題:密碼破譯(閆博釗)題目描述:某組織欲破獲一個(gè)外星人的密碼,密碼由一定長(zhǎng)度的字串組成。此組織擁有一些破譯此密碼的長(zhǎng)度不同的鑰匙,若兩個(gè)鑰匙的長(zhǎng)度之和恰好為此密碼的長(zhǎng)度,則此密碼被成功破譯。現(xiàn)在就請(qǐng)你編程找出能破譯此密碼的兩個(gè)鑰匙。輸入描述:輸入第一行為鑰匙的個(gè)數(shù)N(1N5000)輸入第二行為密碼的長(zhǎng)度以下N行為每個(gè)鑰匙的長(zhǎng)度輸出描述描述:若無法找到破譯此密碼的鑰匙,則輸出僅1行0 。若找到兩把破譯的鑰匙,則輸出有兩行,分別為兩把鑰匙的編號(hào)。若有多種破譯方案,則只輸出一種即可。#includevoid main()int n,s5000,l,i,j,sign=1,m=0;scanf(%d,&n);scanf(%d,&l);for(i=0;in;i+)scanf(%d,&si);for(i=0;in;i+)if(sign=0) break;for(j=i+1;jn;j+)if(si+sj=l)printf(%dn%d,i+1,j+1);sign=0;break; if(sign) printf(%d,m);#includevoid main()int m,n,sum,i,j,a5000;scanf(%d,&n);scanf(%d,&m);for(i=1;i=n;i+) scanf(%d,&ai);for(i=1;in;i+) for(j=i+1;j=n;j+) sum=ai+aj; p=sum-m; if(p=0) printf(%dn%d,i,j); #include void main()int N,length;int i,j,key5000;int num1,num2,t;scanf(%d,&N);scanf(%d,&length);for(i=0;iN;i+)scanf(%d,&keyi);t=1;for(i=0;iN&t=1;i+) for(j=i+1;jN;j+) if(keyi+keyj=length) num1=i+1; num2=j+1; t=0; break; if(t=1) printf(0); else printf(%dn%d,num1,num2);9題目標(biāo)題:基因編碼(閆博釗)題目描述:小可可選修了基礎(chǔ)生物基因?qū)W。教授告訴大家uper Samuel星球上Kitty貓的基因的長(zhǎng)度都是的正整數(shù)次冪 2k (k 8),全是由兩種不同的基因單元組成的。這兩種不同的基因單元分別記成 0 和 1,于是Kitty貓的基因可以寫成一個(gè) 01 串表達(dá)式 S 。為了便于分析和降低數(shù)據(jù)存儲(chǔ)量,教授發(fā)明了 ABC 編碼規(guī)則。該編碼規(guī)則是不斷地按照 A (若S串全是0)T(S)= B (若S串全是1)CT(S1)T(S2) (否則把S串分成兩個(gè)等長(zhǎng)的子串S1和S2)對(duì)Kitty貓基因01串表達(dá)式S進(jìn)行改寫,直至最終被改寫成只含有字符“A”、“B”、“C”的符號(hào)串。例如 T(01001011) = CT(0100)T(1011) = CCT(01)T(00)CT(10)T(11) = CCCT(0)T(1)ACCT(1)T(0)B = CCCABACCBAB請(qǐng)你編寫程序幫助小可可求出Kitty貓基因的ABC編碼以協(xié)助教授開展科研工作。輸入描述:測(cè)試數(shù)據(jù)以一行的形式存放Kitty貓基因的01串表達(dá)式, 字符串長(zhǎng)度不超過500輸出描述描述:對(duì)應(yīng)測(cè)試數(shù)據(jù),以一行的形式輸出這個(gè)Kitty貓基因的ABC編碼。#include #include void f(char a,int begin,int end);int main() char a500; int length; gets(a); length=strlen(a); f(a,0,length); return 0;void f(char a,int begin,int end) int num_A=0,num_B=0; int i; for(i=begin;iend;i+) if(ai=0) num_A+; else if(ai=1) num_B+; if(num_A=end-begin) printf(A); else if(num_B=end-begin) printf(B); else printf(C); f(a,begin,(end+begin)/2); f(a,(end+begin)/2,end); 10題目標(biāo)題:最大公約數(shù)(閆博釗)題目描述:輸入兩個(gè)整數(shù)a,b(1a,b100000),請(qǐng)編寫程序求出他們的最大公約數(shù)。輸入描述:輸入兩個(gè)整數(shù)a b,用空格隔開輸出描述描述:輸出對(duì)應(yīng)a,b的最大公約數(shù)#includevoid main()long a,b,c,t;scanf(%ld %ld,&a,&b);if(ab)t=a;a=b;b=t;while(b!=0)c=a%b;a=b;b=c;printf(%ld,a);11題目標(biāo)題:大數(shù)相加(彭玉旭)題目描述: a+b這個(gè)程序大家都會(huì)做,但是如果a和b都比較大時(shí)該怎么辦呢。其實(shí)我們可以把輸入一個(gè)比較大的數(shù)用字符串表示,模擬人工加法方式。如123+23 ,一個(gè)字符串是123 另外一個(gè)字符串是23,從字符串的最后開始加,得到146. 結(jié)果最大是兩個(gè)字符串最長(zhǎng)的那個(gè)值加1?,F(xiàn)在請(qǐng)你計(jì)算兩個(gè)不超過30位的十進(jìn)制的數(shù)的和。知識(shí)點(diǎn):字符串輸入,字符的09的加法運(yùn)算。提示:字符0的ASCII是48,注意進(jìn)位處理輸入描述:包行四行,每一行包含不超過30個(gè)的由09的字符組成字符串。輸出描述描述:第一行加第二行的和以及第三行加第四行的和。每一個(gè)和占一行#include #include char *add_high_jd(char *a,char *b) char *s; int lenmax,lenmin,i,key=0,m; if(strlen(b)strlen(a) s=a;a=b;b=s; lenmax=strlen(a); lenmin=strlen(b); for(i=1;i=10) alenmax-i=m%10+48; key=1; else alenmax-i=m+48; key=0; for(i=1;i=10) alenmax-lenmin-i=m%10+48; key=1; else alenmax-lenmin-i=m+48; key=0; if(key) for(i=lenmax;i=1;i-) ai=ai-1; a0=1; alenmax+1=0; return a;12題目標(biāo)題:字符串比對(duì)(諶海軍)題目描述:有字符串a(chǎn)(長(zhǎng)度=100),b(長(zhǎng)度=10),計(jì)算b串在a串中出現(xiàn)的次數(shù)。解題思路:1、用gets語句從鍵盤輸入兩個(gè)字符串賦予a,b字符數(shù)組;2、建立兩層嵌套循環(huán),外循環(huán)至a串結(jié)束標(biāo)志為止,內(nèi)循環(huán)至b串結(jié)束標(biāo)志為止;3、內(nèi)循環(huán)中比對(duì)b串與a串的數(shù)據(jù),滿足條件時(shí)計(jì)數(shù),否則break;4、所有循環(huán)結(jié)束后輸出計(jì)數(shù)值。輸入描述:輸入為兩個(gè)字符串,第一個(gè)字符串長(zhǎng)度小于100,第二個(gè)字符串長(zhǎng)度小于10;輸出描述描述:輸出為一個(gè)正整數(shù);#include #include void main() char a100,b10; int i,j,count,result; gets(a); gets(b); result=0; for(i=0;istrlen(a);i+) for(j=0,count=0;jstrlen(b);j+) if(bj=ai+j) count+; else break; if(count=strlen(b) result+; printf(%d,result); int main() char a40=0,b40=0, c40=0, d40=0, e40=0, f40=0; while(gets(a)!=NULL&gets(b)!=NULL&gets(c)!=NULL&gets(d)!=NULL)/?0? strcpy(e,add_high_jd(a,b); strcpy(f,add_high_jd(c,d); puts(e);/?. puts(f);/?. return 0;13題目標(biāo)題:圍圈報(bào)數(shù)(諶海軍)題目描述:有n(n=100)圍成一圈,順序排號(hào)(從1排到n)。從第一個(gè)人開始報(bào)數(shù)(從1報(bào)到m(m=9),凡報(bào)到m的人退出圈子,問最后留下的是原來第幾號(hào)的那位?解題思路:1、定義一個(gè)長(zhǎng)度為100數(shù)組a,初始化為0;2、接收鍵盤輸入值n,m,數(shù)組a的前n-1個(gè)元素賦值為1n;3、建立兩層嵌套循環(huán),外循環(huán)至退出人數(shù)為n-1為止,內(nèi)循環(huán)中從0循環(huán)至n,將a數(shù)組中非0的數(shù)據(jù)逢m置零,同時(shí)記錄退出人數(shù);4、循環(huán)全部結(jié)束后輸出最后留下的一個(gè)a數(shù)組的非零元素的值。輸入描述:輸入為兩個(gè)正整數(shù),第一個(gè)=100,第二個(gè)=9;輸出描述描述:輸出為一個(gè)正整數(shù); #include #define N 100void main() int aN=0; int n,m; int i; int k=0,t=0,s; scanf(%d%d,&n,&m); s=n; for(i=0;i1) if(ak%s!=0) t+; if(t=m) n-; ak%s=0; t=0; k+; for(i=0;is;+i) if(ai!=0) printf(%d,ai); 14題目標(biāo)題:星期幾?(諶海軍)題目描述:編一個(gè)程序,已知今天是星期幾,計(jì)算出n天后是星期幾。要求使用枚舉變量。提示:枚舉變量的賦值只能用枚舉常量來表示,但是枚舉常量均有一個(gè)整形數(shù)代表,可將改整形數(shù)存入枚舉變量地址以實(shí)現(xiàn)外部賦值的目的。如:enum daySun,Mon,Tue,Wed,Thu,Fri,Sat d1; scanf(%d,&d1);當(dāng)鍵盤輸入1時(shí),相當(dāng)于將d1賦值為Mon,即d1=Mon枚舉變量的輸出,只能輸出其代表的整形數(shù),如需輸出其對(duì)應(yīng)的枚舉常量,可借助字符串?dāng)?shù)組的方式處理;如:char *p=“Sun”,“Mon”,“Tue”,Wed,Thu,Fri,Sat; printf(%s,*(p+2);其輸出結(jié)果為:Tue輸入描述:輸入為兩個(gè)正整數(shù),第一個(gè)數(shù)n(n=6)表示今天是星期幾,第二個(gè)數(shù)m(m=1000),表示求m天后是星期幾;輸出描述描述:輸出為一個(gè)長(zhǎng)度為3的字符串,表示星期幾的名稱; #includevoid main() enum daySun,Mon,Tue,Wed,Thu,Fri,Sat d; char *p=Sun,Mon,Tue,Wed,Thu,Fri,Sat; int m; scanf(%d %d,&d,&m); printf(%s,*(p+(d+m)%7); 15題目標(biāo)題:abc+cba=1333(卜勝賢)題目描述:已知abc+cba=1333,其中a,b,c均為一位數(shù),編程求出所有滿足條件的a,b,c所有組合。(知識(shí)點(diǎn):控制語句)輸入描述:無輸出描述描述:輸出數(shù)據(jù)為多組,每組兩個(gè)整形數(shù)#includevoid main() int a,b,c; for(a=0;a10;a+) for(b=0;b10;b+) for(c=0;c10;c+) if(a*100+b*10+c)+(c*100+b*10+a)=1333) printf(%d %dn,a*100+b*10+c,c*100+b*10+a); 16題目標(biāo)題:整數(shù)各位取奇數(shù)(卜勝賢)題目描述:將一個(gè)整數(shù)中的每一位上為奇數(shù)的數(shù)依次取出,構(gòu)成一個(gè)新數(shù)放在t中。高位仍在高位,低位仍在低位。例如,當(dāng)s中的數(shù)為:87653142時(shí),t中的數(shù)為:7531。(知識(shí)點(diǎn):控制語句、函數(shù)、指針)輸入描述:輸入數(shù)據(jù)為一個(gè)不大于100000000的整形數(shù);輸出描述描述:輸出數(shù)據(jù)為一個(gè)不大于100000000的整形數(shù); #includevoid main() int a; int b; int sum=0; int count=0; int base=1; scanf(%d,&a); while(a!=0) b=a%10; a=a/10; if(1=b%2) sum=sum+base*b; base=base*10; count+; printf(%d,sum);17題目標(biāo)題:四位反序數(shù)(卜勝賢)題目描述:設(shè)是一個(gè)四位數(shù),它的n倍恰好是其反序數(shù)(例如:123的反序數(shù)是321),編程,輸出一個(gè)滿足條件的。(知識(shí)點(diǎn):控制語句)輸入描述:輸入為一個(gè)整形數(shù)n(2=n=9)輸出描述描述:輸出為一個(gè)四位數(shù)的整形數(shù) #include int number(int n);void main() int n,i,t=0; scanf(%d,&n); for(i=1000;i10000;i+) if(i*n=number(i) t=i; break; printf(%d,t);int number(int n) int a1,a2,a3,a4; int result; a1=n%10; a2=n/10%10; a3=n/100%10; a4=n/1000; result=a1*1000+a2*100+a3*10+a4; return result; 18題目標(biāo)題:字母翻譯(卜勝賢)題目描述:編程: 求解下列式中各字母代表的數(shù)字并輸出 PEAR-ARA=PEA (知識(shí)點(diǎn):控制語句)輸入描述:無輸出描述描述:輸出為四個(gè)數(shù)字,以空格分開,依次為代表P E A R 的數(shù)字#include void main() int p,e,a,r,d,b,c; for(p=1;p10;p+) for(e=0;e10;e+) for(a=1;a10;a+) for(r=0;r10;r+) d=p*1000+e*100+a*10+r; b=a*100+r*10+a; c=p*100+e*10+a; if(d-b=c) printf(%d %d %d %d,p,e,a,r); 19題目標(biāo)題:字符串復(fù)制(卜勝賢)題目描述:有一個(gè)字符串,包括n個(gè)字符。寫一個(gè)函數(shù),將此字符串從第m個(gè)字符開始的全部字符復(fù)制成另一個(gè)字符串。要求在主函數(shù)輸入字符串及m值并輸出復(fù)制結(jié)果。(知識(shí)點(diǎn):控制語句、字符串、指針)輸入描述:輸入為一個(gè)字符串(長(zhǎng)度小于80)及一個(gè)整形數(shù)(小于字符串的實(shí)際長(zhǎng)度)輸出描述描述:輸出為一個(gè)字符串#include #include void main()int n,m,i;char str80;char *p;p=str;gets(str);scanf(%d,&n); m=strlen(str);for(i=n-1;im;i+)printf(%c,*(p+i);#include #include void main() int i,j,n; char a80; gets(a); scanf(%d,&n); for(i=n-1;istrlen(a);+i) printf(%c,ai); 20題目標(biāo)題:二維字符數(shù)組轉(zhuǎn)換(卜勝賢)題目描述:編寫函數(shù)fun, 函數(shù)的功能是: 將M行N列的二維數(shù)組中的字符數(shù)據(jù), 按列的順序依次放到一個(gè)字符串中。例如, 二維數(shù)組中的數(shù)據(jù)為: W W W W S S S S H H H H 則字符串中的內(nèi)容應(yīng)是: WSHWSHWSH。(知識(shí)點(diǎn):數(shù)組、指針)輸入描述:輸入為一個(gè)3行4列二維字符數(shù)組數(shù)據(jù)輸出描述描述:輸出為一個(gè)長(zhǎng)度為12的字符數(shù)組;#includevoid main()char a34,s12;char (*p1)4,*p2;int i;void fun(char (*p1)4,char *p2);for(i=0;i4;i+)scanf(%c,&a0i);getchar(); for(i=0;i4;i+) scanf(%c,&a1i);getchar(); for(i=0;i4;i+)scanf(%c,&a2i);getchar(); p1=a;p2=s; fun(p1,p2);puts(s);void fun(char (*p1)4,char *p2)int i,j;for(i=0;i4;i+)for(j=0;j3;j+)*p2=*(*(p1+j)+i);p2+;*p2=0;#include void main() char a38,b24; int i,j,k=0,t=0; for(i=0;i3;+i) for(j=0;j8;+j) scanf(%c,&aij); while(k24) bk=ak%3t; k+; if(k%3=0) t+; for(i=0;i24;+i) if(bi!= ) printf(%c,bi); if(bi=n) break; 21題目標(biāo)題:年齡分組(卜勝賢)題目描述:統(tǒng)計(jì)各年齡段的人數(shù)。N(N=20)個(gè)年齡通過鍵盤輸入,并放在age數(shù)組中;要求函數(shù)把0至9歲年齡段的人數(shù)放在d0中,把10至19歲年齡段的人數(shù)放在d1中,把20至29歲年齡段的人數(shù)放在d2中, 其余依此類推, 把100歲 (含100)以上年齡的人數(shù)都放在d10中。依次輸出d0至d10。輸入描述:輸入為20個(gè)正整數(shù);輸出描述描述:輸出為11個(gè)正整數(shù);#include#define N 20void main()int i,ageN,d11;for(i=0;iN;i+)scanf(%d,&agei);for(i=0;i11;i+)di=0;for(i=0;i=0&agei=10&agei=20&agei=30&agei=40&agei=50&agei=60&agei=70&agei=80&agei=90&agei=100) d10+;for(i=0;i10;i+)printf(%d ,di); printf(%d,d10);#include void main() int a20,b11; int i,j; for(i=0;i20;+i) scanf(%d,&ai); for(i=0;i11;+i) bi=0; for(i=0;i20;+i) for(j=0;j=(j*10)&ai=100) b10+; for(i=0;i10;+i) printf(%d ,bi); printf(%d,b10); 22題目標(biāo)題:分?jǐn)?shù)數(shù)列求和(諶海軍)題目描述:有一個(gè)分?jǐn)?shù)數(shù)列為:2/1,3/2,4/3,5/4求出這個(gè)數(shù)列的前n(n=20)項(xiàng)之和,保留小數(shù)點(diǎn)后4位。輸入描述:輸入一個(gè)整數(shù)n(n=20);輸出描述描述:輸出為一個(gè)小數(shù),保留小數(shù)點(diǎn)后4位; #include void main() float s=2.0,t=1.0,result=0; int n,i; scanf(%d,&n); for(i=0;in;+i) result=result+s/t; s+; t+; printf(%.4f,result); 23題目標(biāo)題:楊輝三角形(諶海軍)題目描述:輸出n行楊輝三角形,如下:1 1 1 1 2 1 1 3 3 1注意:輸出時(shí),每行最后一個(gè)數(shù)字后面無空格,否則無法通過機(jī)判;輸入描述:輸入為一個(gè)正整數(shù)nn=10);輸出描述描述:輸出為n行楊輝三角形; #include void main() int a100100; int n; int i,j; scanf(%d,&n); for(i=0;in;+i) ai0=1; for(i=1;in;+i) aii=1; for(i=2;in;+i) for(j=1;ji;+j) aij=ai-1j-1+ai-1j; for(i=0;in;+i) for(j=0;ji;+j) printf(%d ,aij); printf(%d,aii); printf(n); 24題目描述題目標(biāo)題:鞍點(diǎn)(諶海軍)題目描述:找出一個(gè)二維數(shù)組中的鞍點(diǎn),即該位置上的元素在該行上最大、在該列上最小。也可能沒有鞍點(diǎn)。輸入描述:輸入一個(gè)3行3列的二維整形數(shù)組;輸出描述描述:如果鞍點(diǎn)存在,輸出其坐標(biāo);否則輸出-1;如:鞍點(diǎn)位于第一行第三列,則輸出1 3;#include#define N 3int GetRowIndex(int aN,int col) int row=0; int i; int min=a0col; for(i=1;iN;i+) if(aicolmin) min=aicol; row=i; return row;void main() int aNN; int i,j,row,col,max,rowResult,flag=0; for(i=0;iN;i+) for(j=0;jN;j+) scanf(%d,&aij); for(i=0;iN;i+) row=i;col=0;max=ai0; for(j=1;jmax) col=j; max=aij; rowResult=GetRowIndex(a,col); if(row=rowResult) flag=1; break; if(flag=1) printf(%d %d,row+1,col+1);elseprintf(%d,-1);25題目標(biāo)題:最長(zhǎng)單詞(諶海軍)題目描述:輸入一個(gè)字符串,將其中最長(zhǎng)的單詞輸出(不含標(biāo)點(diǎn)符號(hào));如果最長(zhǎng)單詞的數(shù)量有多個(gè),輸出第一個(gè)即可;注:大寫字母的ascii碼從6590,小寫字母的ascii碼從97122;輸入描述:輸入為長(zhǎng)度小于100的字符串;輸出描述描述:輸出為長(zhǎng)度小于100的字符串;26題目標(biāo)題:金額轉(zhuǎn)換(諶海軍)題目描述:將一個(gè)小寫的金額數(shù)字轉(zhuǎn)換為大寫輸出提示:1、注意數(shù)字的取值范圍;2、注意連續(xù)的多個(gè)零,如:60021應(yīng)表示為六萬零二十一,而不是六萬零千零百二十一;3、金額的各位大寫采用簡(jiǎn)體中文:十百千萬;4、數(shù)字的大寫采用簡(jiǎn)體中文:零一二三四五六七八九;輸入描述:輸入為一個(gè)5位數(shù)的正整數(shù);輸出描述描述:輸出為大寫的數(shù)字; #include int p(int t);void main() char wei510=,十,百,千,萬; char num1010=,一,二,三,四,五,六,七,八,九; int i; int n,count=0,s; scanf(%d,&n); s=n; while(s0) s=s/10; count+; for(i=count;i0;i-) printf(%s,numn/p(i-1); printf(%s,weii-1); n=n%p(i-1); if(np(i-2) if(n=0) break; printf(零); i-; while(np(i-2) i-; int p(int t) int i,result=1; for(i=0;it;+i) result=result*10; return result; 27題目標(biāo)題:查找不同的木棍(彭玉旭)題目描述:小明的收集了一些木棍,并測(cè)量了每個(gè)木棍的長(zhǎng)度,記錄下來.假設(shè)小明有奇數(shù)根木棍,只有一個(gè)木棍找不到跟它一樣長(zhǎng)的另外一根木棍.請(qǐng)編程找出這個(gè)沒有相同長(zhǎng)度的木棍,輸出它的長(zhǎng)度.知識(shí)點(diǎn): 排序;或者用異或操作 0 異或x=x;x異或x=0;a異或b異或c=a異或(b異或c)=(a異或b)異或c=a異或c異或b輸入描述:輸入包含一個(gè)奇數(shù)n(n30000),然后是n個(gè)整數(shù),表示每個(gè)木棍的長(zhǎng)度,并保證只有一根木棍找不到跟他一樣長(zhǎng)的木棍.輸出描述描述:輸出符合條件的木棍的長(zhǎng)度 #include #define N 30000void main() int n,i,j,temp; int aN; scanf(%d,&n); for(i=0;in;+i) scanf(%d,&ai); for(i=0;in-1;+i) for(j=i+1;jn;+j) if(aiaj) temp=ai; ai=aj; aj=temp; for(i=0;in;+i) if(i=n-1) printf(%d,ai); break; else if(ai!=ai+1) printf(%d,ai); break; else i+; 28題目標(biāo)題:最長(zhǎng)上升子序列數(shù)(閆博釗)題目描述:一個(gè)數(shù)的序列bi,當(dāng)b1b2.bS的時(shí)候,我們稱這個(gè)序列是上升的。對(duì)于給定的一個(gè)序列(a1,a2,.,aN),我們可以得到一些上升的子序列(ai1,ai2,.,aiK),這里1=i1i2.iK=N。比如,對(duì)于序列(1,7,3,5,9,4,8),有它的一些上升子序列,如(1,7),(3,4,8)等等。這些子序列中最長(zhǎng)的長(zhǎng)度是4,比如子序

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論