




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、期末考試說(shuō)明本次考試全部采用筆試形式,分為如下三種題型一、程序閱讀題(10空X2分/空=20分)二、程序修改題(10空X2分/空=20分)三、程序設(shè)計(jì)題(6題xio分/題=6o分)程序閱讀和修改題主要涉及知識(shí)點(diǎn)如下:scanf 和 printf、switch 循環(huán) (for、while do-while) 及和 break、continue 結(jié)合、 二維數(shù)組處理、字符串處理、函數(shù)遞歸調(diào)用、static、宏定義展開(kāi)、文件定義、翻開(kāi)fopen、 關(guān)閉fclose和讀寫(xiě)操作(fscanf和fprintf)程序設(shè)計(jì)題主要考核如下內(nèi)容:.單純的分支結(jié)構(gòu).單純的一層循環(huán)結(jié)構(gòu).實(shí)現(xiàn)完整的函數(shù):函數(shù)的定義、函
2、數(shù)體的編寫(xiě)、帶返回值的和不帶返回值的函數(shù)、值 傳遞、地址傳遞。涉及到分支、循環(huán)、數(shù)組、字符串、結(jié)構(gòu)體等。以下內(nèi)容不做考試要求: 指向二維數(shù)組的指針、指針函數(shù)、指針數(shù)組、多級(jí)指針、共用體、枚舉、位運(yùn)算、文件 fseek ftell fread 和 fwrite2 10輸出樣例3 5 7#include #include int main()(int i,a,n,m;scanf(,%d%d,&m,&n);for(a=m; an; a+)(for(i=2; i=a; i+)if(a%i=0)break;)if(i=a)(printf(n %dn,a);)printfCn1);return 0;)回文
3、數(shù)問(wèn)題描述輸入一個(gè)正整數(shù),判斷是否為回文數(shù)。輸入一個(gè)正整數(shù)n輸出如果是,輸出Yes,否那么輸出No輸入樣例12321輸出樣例Yes#include #include int main()(int a,n,m=O;scanf(H%dn,&n);a=n;while(n!=O)(m=m*10+n%10;n=n/10;)if(m=a)(printf(HYesnn);)else(printf(HNonn);)return 0;)貪吃的猴子問(wèn)題描述有一只猴子,第一天摘了假設(shè)干個(gè)桃子,當(dāng)即吃了一半,但還覺(jué)得不過(guò)癮,就又多吃了 一個(gè)。第2天早上又將剩下的桃子吃掉一半,還是覺(jué)得不過(guò)癮,就又多吃了兩個(gè)。以后 每天
4、早上都吃了前一天剩下的一半加天數(shù)個(gè)(例如,第5天吃了前一天剩下的一半加5 個(gè))。到第n天早上再想吃的時(shí)候,就只剩下一個(gè)桃子了。輸入天數(shù)n輸出第一天的桃子個(gè)數(shù)。提示:輸出語(yǔ)句為printf(nThe monkey got %d peachs in first daynsum);輸入樣例5輸出樣例The monkey got 114 peachs in first day.提示:?jiǎn)栴}分析:總共to日吃掉剩余1 tO/2+1 t0-(t0/2+l)=t0/2-l tl=t0/2-l =t0=(tl+l)*22 tl/2+2 tl-(tl/2+2)=tl/2-2 t2=tl/2-2 =tl=(t2+2
5、)*2 n-1 tn-2/2+(n-l) tn-2-(tn-2/2+(n-l)=tn-2/2-(n-l) tn-i=tn-2/2-(n-l) = tn-2= (tn-i+n-l)*2n 1 0 tn-i = l#include #include int main()(double n,i, m=l;scanf(H%lf&n);for(i=l;i=n-l;i4-+)(m=(n-i+m)*2;)printf(nThe monkey got %.01f peachs in first day.nu,m);return 0;)馬戲團(tuán)人數(shù)問(wèn)題描述一個(gè)馬戲團(tuán)表演,n個(gè)座位全滿,全部門(mén)票收入是120元,現(xiàn)在
6、知道,男人每人5元, 女人每人2元,小孩每人1角。根據(jù)總?cè)藬?shù),計(jì)算出男人、女人和小孩各多少人。輸入總?cè)藬?shù)n輸出男人、女人和小孩人數(shù),假設(shè)n人無(wú)法滿足條件,那么輸出“No outputn#include #include int main()(int x,y,z,n;scanf(d”,&n);for(x=0;x=0&x=0&y=0) printf(n%d %d %dnn,x,y,z);)if(n%5)!=0&(n%2)! =0&(50*x+20*y+z)!= 1200)(printf(nNo output);) return 0;)迭代法問(wèn)題描述用迭代法求x = V.o求平方根的迭代公式為:要求
7、前后兩次求出的X的差的絕對(duì)值小于10-5o輸入a輸出右的值輸入樣例4輸出樣例The square root of 4.00 is 2.00000#include #include #include int mainQ(float a,xi?x2;scanf(n%f&a);xi=sqrt(a);x2=i/2*(xi+a/xi);do(xi=sqrt(a);X2 = l/2x(xl+a/xl);while(fabs(x2-xi)o.000001);printf(HThe square root of %.2f is %.5fnn?a,xi);return o;5.14 cos(x)-x=o利用以下
8、所示的簡(jiǎn)單迭代方法求方程:cos(x)-x=。的一個(gè)實(shí)根。Xn+i=COS(Xn)迭代步驟如下:輸入數(shù)據(jù)給XI;(2)XO=X1,把XI的值賦給XO;(3)xi=cos(xo),求出一個(gè)新的 xi;(4)假設(shè)XO-X1的絕對(duì)值小于0.000001,執(zhí)行步驟(5),否那么執(zhí)行步驟(2);(5)所求xi就是方程cos(x)-x=o的一個(gè)實(shí)根,輸出xi,輸出語(yǔ)句為printf(nx=%lf;o提示:此題xo和xi定義為double類(lèi)型#include #include #include int main()double a,b;scanf(n%lfn&a);b=cos(a);while(fabs(b
9、-a)0,000001)a=b;b=cos(a);)printf(nx=%fnn,b);return 0;)5.15求一個(gè)三位數(shù),其值等于其各位階乘之和問(wèn)題描述編寫(xiě)程序,求某三位數(shù),該數(shù)值的大小正好是組成這個(gè)數(shù)的三個(gè)位上的數(shù)字階乘之和。輸入 無(wú)輸出滿足上述條件的三位數(shù)。提示:輸出格式為printf(n%dnfnum);#include #include int main()int a,b,c,i,j,k,m,n,s;for(a=l; a=9; a+)for(b= 1; b=9; b+)for(c= 1; c=9; c+)(m=l;n=l;s=l;for(i= 1; i=a; i+)m*=i;f
10、or(j=l;j=b;j+)n*=j;for(k= 1; k=c; k+)s*二k;if(l 00*a+1 O*b+c=m+n+s)printf(,%dnn,m+n+s);)return 0;)第六章誰(shuí)能出線背景:電視臺(tái)舉辦“超級(jí)學(xué)生”才藝大賽,由于報(bào)名人數(shù)狂多,所以要先進(jìn)行分組預(yù)賽。按規(guī)定, 每10名學(xué)生為一個(gè)預(yù)賽小組,評(píng)委打出分?jǐn)?shù)(0100分),各小組第一名可以進(jìn)入下 一輪;如果有多名學(xué)生得分相同都是第一名,那么可同時(shí)進(jìn)入下一輪。輸入:按順序給出一個(gè)小組1。個(gè)人的最后得分(int)。輸出:能夠出線的學(xué)生序號(hào)(0-9)o#include #include #define N 10int ma
11、in()(int aN,i,n,m;for(i=0; i10; i+)scanf(n%dn,&ai);) m=aO;for(i=0; i10; i+) (if(mai)( m=ai;)for(i=0; i10; i+)(if(m=ai)(n=i;printf(u%dnn,n);) return 0;)統(tǒng)計(jì)素?cái)?shù)個(gè)數(shù)求出2到m之間(含m, m=iooo)所有素?cái)?shù)并放在數(shù)組a中。輸入:正整數(shù)m輸出:從小到大的所有素?cái)?shù),及個(gè)數(shù)(素?cái)?shù)輸出的時(shí)候用4d來(lái)控制)如:輸入:10輸出:23574#include #define N 500 int main() (int aN,m,i,j,x,k=0;scanf
12、(%dn,&m);for(i=2; i=m; i+)for(j=2;j=i;j+)if(i%j=O) (break;if(i=j)(ak=j;k+;)for(x=0; xk; x+)printf(n%4d;ax);)printf(nnn);printf(dn”,k);return 0;)冒泡法排序冒泡排序(BubbleSort)的基本概念是:依次比擬相鄰的兩個(gè)數(shù),將小數(shù)放在前面,大 數(shù)放在后面。即在第一趟:首先比擬第1個(gè)和第2個(gè)數(shù),將小數(shù)放前,大數(shù)放后。然后 比擬第2個(gè)數(shù)和第3個(gè)數(shù),將小數(shù)放前,大數(shù)放后,如此繼續(xù),直至比擬最后兩個(gè)數(shù), 將小數(shù)放前,大數(shù)放后。至此第一趟結(jié)束,將最大的數(shù)放到了最后
13、。在第二趟:仍從第 一對(duì)數(shù)開(kāi)始比擬(因?yàn)榭赡苡捎诘?個(gè)數(shù)和第3個(gè)數(shù)的交換,使得第1個(gè)數(shù)不再小于第 2個(gè)數(shù)),將小數(shù)放前,大數(shù)放后,一直比擬到倒數(shù)第二個(gè)數(shù)(倒數(shù)第一的位置上已經(jīng) 是最大的),第二趟結(jié)束,在倒數(shù)第二的位置上得到一個(gè)新的最大數(shù)(其實(shí)在整個(gè)數(shù)列 中是第二大的數(shù))。如此下去,重復(fù)以上過(guò)程,直至最終完成排序。由于在排序過(guò)程中總是小數(shù)往前放,大數(shù)往后放,相當(dāng)于氣泡往上升,所以稱(chēng)作冒泡排序。編寫(xiě)程序,對(duì)輸入的十個(gè)數(shù)按照從小到大排序#include #include #define N 10int main()(int aN,i,j,t;for(i=0; iN; i+)scanf(n%dn,&a
14、i);for(i=0; iv(N-l); i+)for(j=i+l; jN; j+) if(ajai)(t=a|j;aj=ai;ai=t;printf(H %dn,ai); ) pHntf( %dn,ai); printf(nnn);return 0; )插入法排序如果一個(gè)數(shù)組中保存的元素是有序的(由小到大),向這個(gè)數(shù)組中插入一個(gè)數(shù),使得插 入后的數(shù)組元素依然保持有序。定義一個(gè)數(shù)組,長(zhǎng)度為11,初始元素為10個(gè),按照從小到大的方式輸入,然后輸入一 個(gè)要插入的元素,使得插入后仍然有序。#include #include #define N 10 int main() (int aN+l,i,x,
15、k;for(i=0; i=0; i) (if(ai=x) (k=i+l;break;計(jì)算機(jī)c語(yǔ)言上機(jī)題、第四章4.1溫度轉(zhuǎn)換,第一個(gè)數(shù)據(jù)(1或2)確定轉(zhuǎn)換的類(lèi)型:華氏轉(zhuǎn)攝氏(1);攝氏轉(zhuǎn)華氏(2);#include int main()(int x;float C,F,a;scanf(n%d%f;&x,&a);if(x=l)(C=(a-32)*5/9 ;printf(nThe Centigrade is %.2fn”,C);) else(F=(a*9/5)+32 ;printf(HThe Fahrenheit is %.2fnF);) return 0;) 第五章5. 1輸出一行星號(hào)#incl
16、ude #include int main()(int a,b=l;scanf(n%dn,&a);while(bk; i)(ai=ai-l;) ak=x;for(i=0; iN+l; i+) (printf(n %dn,ai);)printf(nnn);return 0;)6.5求各位數(shù)字中組成的最大數(shù)任意輸入一個(gè)自然數(shù),輸出該自然數(shù)的各位數(shù)字組成的最大數(shù)。例如,輸入1593,那么 輸出為9531 。輸入:自然數(shù)n輸出:各位數(shù)字組成的最大數(shù)#include #include #define N 100 int main() (int aN,i,n,pj,k=0; scanf(d”,&n);fo
17、r(i=0; iN; i+) (ai=n%10;n=n/10;k+;if(n=0)( break;)for(i=0; ik-l; i+)fbr(j=i+l; jk; j+) if(aiaU)(P=ai;ai=aj; aj=P; ) )for(i=0; ik; i+)( printf(n%d;ai);)printf(nnn);return 0; )數(shù)組逆序輸出、 問(wèn)題描述從鍵盤(pán)上輸入一個(gè)數(shù)組(10個(gè)元素),將原數(shù)組逆序重新排列后輸出。要求輸出每個(gè) 元素時(shí)以一個(gè)空格隔開(kāi)。提示:用第一個(gè)與最后一個(gè)交換。#include #include #define N 10 int main() (int aN
18、,z,ij; for(i=0;iN;i+) (scanf(n%dM,&ai);)for(j=0;ji/2;j+) (z=aj;aj=a9-j;a9-j=z;for(i=0; iN; i+)printf(n%d n,ai);)printfCAn*); return 0;)求最大值 問(wèn)題描述要求從鍵盤(pán)輸入10個(gè)整型數(shù)據(jù),找出其中的最大值并顯示出來(lái)。輸入范例3 o 54 -71。27 32767 10 1 5。0 2輸出范例32767提示先假定第一個(gè)元素時(shí)最大值,然后和其他的元素一個(gè)一個(gè)的進(jìn)行比擬,直到找到最大值。#include #include #define N 10 int main() (
19、int aN,z,i,j; for(i=0;ivN;i+) (scanf(n%dM,&ai);)z=a0;for(i=0;iN;i+) (if(zai)( z=ai;) ) printf(n%dnn,z);return 0; )二維數(shù)組 問(wèn)題描述:程序定義了 4X4的二維數(shù)組,請(qǐng)編寫(xiě)程序,給二維數(shù)組賦值,并使數(shù)組下半三角元素 中的值乘以n o例如:數(shù)組中的值為12 3 42 2 3 43 2 3 44 2 3 4假設(shè)n為10,那么輸出結(jié)果如下:(輸出的數(shù)按照4位寬度來(lái)輸出,即41)10 23420 20 3430 20 30 440 20 30 40#include #include int
20、main()(int a44;int n,i,j;for(i=0; i4; i+)(for(j=0; j4; j+)(scanf(n%d;&aij);)scanf(”d&n);for(i=0; i4; i+)(for(j=0; j=i; j+)(aij=n*aij;)for(i=0; i4; i+)for(j=0; j4;j+)printf(,%4d,aij);printf(nnn);return 0;)在屏幕上輸出楊輝三角楊輝三角形,又稱(chēng)賈憲三角形,帕斯卡三角形,是二項(xiàng)式系數(shù)在三角形中的一種幾何排 列。其實(shí),中國(guó)古代數(shù)學(xué)家在數(shù)學(xué)的許多重要領(lǐng)域中處于遙遙領(lǐng)先的地位。中國(guó)古代數(shù) 學(xué)史曾經(jīng)有自己光
21、輝燦爛的篇章,而賈憲三角的發(fā)現(xiàn)就是十分精彩的一頁(yè)。楊輝三角有如下性質(zhì):1、每行數(shù)字左右對(duì)稱(chēng),由1開(kāi)始逐漸變大,然后變小,回到1。2、第n行的數(shù)字個(gè)數(shù)為n個(gè)。3、每個(gè)數(shù)字等于上一行的左右兩個(gè)數(shù)字之和。編寫(xiě)程序,輸入正數(shù)n,將所有數(shù)據(jù)存儲(chǔ)到二維數(shù)組中,并在屏幕上顯示對(duì)應(yīng)的楊輝三角形(注意數(shù)據(jù)之間的空格)。例如:n=5圖形如下:1 113 1146411 5 1。10 5 1#include #include #define N 100 int main() (int aNN;int i,j,n;scanf(u%dn,&n);for(i=0; iO&ji)(aiU=a(i4)G4)+a(i-l)U;
22、)printf(”3d”,aijD;) printf(nnn);)return 0;)6.10球周邊元素之和編寫(xiě)一個(gè)程序,求出4X5的二維數(shù)組周邊元素之和。輸入:二維數(shù)組元素輸出:周邊元素之和如:輸入9 9 9 813570輸出:61#include #include #define N 4#define M 5 int main() (int aN M ,i,j ,b=0,c=0,d=0,e=0,sum;for(i=0; iN; i+)for(j=0; jM; j+)scanf(d”,&aij);)for(i=0; iN; i+)if(i=O)(for(j=0; j
23、M-l; j+)b=b+ai 皿;)if(i=3)(for(j=0; jM-l; j+)(d=d+aij;)for(j=0; jM; j+)(if)(for(i=l; iN-l; i+)(c=c+aij;)if(j=4)(for(i=0; iN; i+)(e=e+aij;)sum=b+c+d+e;printf(n%dn,sum);return 0;6.11存儲(chǔ)并輸出一個(gè)矩陣編程,輸入n ,存儲(chǔ)并輸出如下例(n=5)所示的圖形。1234511234111231111211111#include #include #define N 100 int main() (int aNN;int ij,n
24、;scanf(n%dn,&n);for(i=0; in; i+) (for(j=0; j=i;j+)(aiU=l;)for(j=i+l; jn; j+)( ai 皿=j+l-i;) )for(i=0; in; i+)(for(j=0; jn; j+)(printfC,%2d,aij);) printf(nnn);)return 0;給數(shù)組中元素按順序編號(hào) 對(duì)數(shù)組aio中的十個(gè)整數(shù)從小到大進(jìn)行連續(xù)編號(hào),輸出各個(gè)元素的編號(hào)。要求不能 改變數(shù)組a中元素的順序,且相同的整數(shù)要具有相同的編號(hào)。例如數(shù)組是:A=(534,7,3,5,6,8,9JO)那么輸出為: (4,1,33,1,4,6,8,9,10)#
25、include #include #define N 10#define M 100 int main() (int aN,bM,ij;for(i=0; iN; i+) (scanf(n%dn,&ai);)for(i=0; iN; i+) (bi=l;for(j=0; jaU)( bi+;) printf(n%3dn,bi);)printfC,nH); return 0;)矩陣加法方陣階數(shù)為n(nioo),例如當(dāng)n=3時(shí),矩陣int就33,矩陣int b33。矩陣的數(shù) 據(jù)由用戶輸入。輸出新的矩陣C=a+bo輸出格式:COO COl C02 CIO Cll C12 C20 C21 C22 每?jī)蓚€(gè)
26、數(shù)字之間有1個(gè)空格關(guān)于輸入 方陣階數(shù)n 矩陣a:aoo aoi aO2aio an ai2a20 a2i a22矩陣b:boo boi bo2 bio biibi2 b20 b21 b22關(guān)于輸出矩陣C:COO C01 C02CIO Cll C12C20 C21 C22#include #include #define N 100 int main() (int aNN,bNN,cNN,i,j,n; scanf(n%dn,&n);for(i=0; in; i+) (for(j=0;jn;j+) () ) for(i=0; in; i+) (for(j=0; jn; j+) (scanf(n%d
27、n,&bij); )for(i=0; in; i+) (for(j=0; jn; j+) ciU=aiU+biU;) )for(i=0; in; i+)(for(j=0; jn; j+) (if(j!=(n-l) else*輸入整數(shù)n例如5輸出由*組成的高為5的平行四邊形#include #include int main()int a,b,c,n;scanf(d”,&n);a=l;while(a=n)(b=l;while(b=a-l)(printf(n n);b=b+1;)c=l;while(c=n)(printf(“* ;c=c+l;printf(nnn);a=a+1;)return 0;
28、)編程計(jì)算)printf(nnn);)return 0;)矩陣轉(zhuǎn)置在數(shù)學(xué)上,矩陣是指縱橫排列的二維數(shù)據(jù)表格,最早來(lái)自于方程組的系數(shù)及常數(shù)所構(gòu)成 的方陣。這一概念由19世紀(jì)英國(guó)數(shù)學(xué)家凱利首先提出。矩陣概念在生產(chǎn)實(shí)踐中也有許 多應(yīng)用,比方矩陣圖法以及保護(hù)個(gè)人帳號(hào)的矩陣卡系統(tǒng)(由深圳網(wǎng)域提出)等等?!熬?陣”的本意也常被應(yīng)用,比方監(jiān)控系統(tǒng)中負(fù)責(zé)對(duì)前端視頻源與控制線切換控制的模擬設(shè) 備也叫矩陣。設(shè)A為nxn階矩陣(即n行n列),第i行j列的元素是a(i,j),即:A=a(i,j) 定義A的轉(zhuǎn)置為這樣一個(gè)nxn階矩陣B,滿足即b (i,j)=a (j,i) (B的第i行 第j列元素是A的第j行第i列元素
29、),記A=B。(有些書(shū)記為AT=B,這里T為A的 上標(biāo))直觀來(lái)看,將A的所有元素繞著一條從第1行第1列元素出發(fā)的右下方45度的 射線作鏡面反轉(zhuǎn),即得到A的轉(zhuǎn)置。輸入:有n+1行(2nio),第一行是一個(gè)整數(shù)n,代表矩陣為n行n列。后面n行表示矩 陣的取值輸出:轉(zhuǎn)置后的矩陣#include #include #define N 100 int main() (int aNN,i,j,n,k;scanf(n%dM,&n);for(i=0; in; i+) (for(j=0; jn; j+)scanf(n%dn,&aij);)for(i=0; in; i+)(for(j=0;ji;j+)(k=aij
30、;aiUl=aUi; aji=k;)for(i=0; in; i+)(for(j=0; jn; j+)(if(j!=(n-l)( printf(H%d n,ai|j);) else(printf(”%d”,ai 皿);printf(nnn);)return 0;)求一系列整數(shù)中出現(xiàn)最多的數(shù)給定一系列整數(shù),對(duì)每個(gè)整數(shù)的每一位數(shù)字統(tǒng)計(jì)09各個(gè)數(shù)字的出現(xiàn)次數(shù),求出現(xiàn)次 數(shù)最多的數(shù)字。輸入:有兩行,第一行是整數(shù)n (i=n=ioo),表示有n個(gè)整數(shù);第二行是n個(gè)整數(shù)值輸出:出現(xiàn)次數(shù)最多的數(shù)字d (如果d不唯一,要列出全部)及其出現(xiàn)的次數(shù)輸入樣例:11233輸出樣例:出現(xiàn)次數(shù)最多2次的數(shù)字是3#incl
31、ude #include int main() (int a10= 0;int n,i=0,maxl=0;char m;charb200= 0;int 1=0;scanf(H%dn,&n);getchar();gets(b);l=strlen(b);for (i=0; i=,0, & bi=9)abi-48+=l;)i=0;while(imax l)maxl =ai; i+;)printf(”出現(xiàn)次數(shù)最多d次的數(shù)字是,maxi);for(i=0; i10; i+) if(maxl=ai)printf(n %dn,i);)printf(nnn);return 0;)6.16裝箱問(wèn)題假設(shè)有n項(xiàng)物品
32、,大小分別為si, S2, sn,其中si是整數(shù)且滿足:i=si=ioo。要把這些物品裝入到容量為100的一批箱子(序號(hào)in)中。裝箱方法是:對(duì)每項(xiàng)物品 si,依次掃描所有這些箱子,把si放入足以能夠容下它的第一個(gè)箱子中(first-fit策略)。 寫(xiě)一個(gè)程序來(lái)模擬這個(gè)裝箱的過(guò)程。輸入:有兩行。第一行是整數(shù)n(n=iooo),表示物品的個(gè)數(shù);第二行是n個(gè)整數(shù)si(si=ioo), 分別表示n個(gè)物品的大小輸出:每個(gè)物品所在的箱子序號(hào),并輸出所需的箱子數(shù)目輸入樣例:86o 70 8o 90 3。4。1。20輸出樣例:6o 170 280 39。430 14。5 10 120 2所需的箱子數(shù)目為5#
33、include #include #define N 100 int main() int aN,bN,n,i,j,k;scanf(n%dn,&n);for(i=0; in; i+) (scanf(n%dn,&ai);bi=100;)for(i=0; in; i+) (for(j=0; j=0)(printf(n%d %dnH,aiJ+l); b|j=b|j-ai;break;)for(j=0; jn; j+)if(bU=ioo) break; )printf(”所需的箱子數(shù)目為小鵬 return 0;)第八章字符轉(zhuǎn)換 描述提取一個(gè)字符串中的所有數(shù)字字符將其轉(zhuǎn)換為一個(gè)整數(shù)輸出。輸入一個(gè)以回車(chē)符
34、為結(jié)束標(biāo)志的字符串(少于8o個(gè)字符)。輸出把字符串中的所有數(shù)字字符(o9)轉(zhuǎn)換為一個(gè)整數(shù)并輸出。#include #include #include #define N 1000 int main() char aNJ;int i,j=0,len,m;gets(a);len=strlen(a);for(i=0; i=0,&ai=,9,)(m=ai-,0,;j=j*10+m;) ) printf(1,%dn,J); return 0;)合并字符串輸入兩個(gè)已經(jīng)按從小到大順序排列好的字符串,編寫(xiě)一個(gè)合并兩個(gè)字符串的函數(shù),使合 并后的字符串,仍然是從小到大排列。輸入:兩個(gè)已經(jīng)排好順序(升序)的字符串輸
35、出:一個(gè)合并在一起的有序(升序)的字符串要求:設(shè)計(jì)一個(gè)效率盡量高的算法,對(duì)每個(gè)字符串只掃描一遍就可以了。 如果采用先進(jìn)行串連接,然后再進(jìn)行排序的算法,那么效率太低了#include #include #include #define N 100 int main() char aN,bN,sN;int i=0,j=0,k=0;gets(a);gets(b);while(ai !=0t)&(bj !=,01) (if(aibU) (sk+=ai+;) else (sk+=bj+;) )while(ai=,0,)&(bj!=,0,)(sk+=bj+;)while(ai !=,0,)&(bj=10,
36、)( sk+=ai+;)sk=(y;puts(s);return 0;)刪除重復(fù)字符背景:輸入一個(gè)長(zhǎng)度不超過(guò)100的字符串,刪除串中的重復(fù)字符。輸入:輸入要檢查的字符串,長(zhǎng)度不超過(guò)100個(gè)字符。例如:abacaeedabcdcdo輸出:刪除重復(fù)字符后的字符串。例如:abcedo#include #include #define N 100 int main() (char aN,bN;int i,j=l,k;gets(a);b0=a0;for(i=l; (ai!=f0); i+) (for(k=0; kj; k+) (if(bk=ai) (break;) ) if(k=j) (bj+=ai;
37、)bUlO1;puts(b);return 0;刪除字符串中指定字符輸入兩個(gè)字符串S1和S2 ,在S1中刪除任何S2中有的字符。例如,S1 : “abci23ad”,S2 : “ ai ” ,那么輸出“bc23d”。輸入:兩個(gè)字符串S1和S2輸出:刪除后的字符串S1#include #include #define N 100 int main() (char aN,bN,cN;int i,j,len,k=0;gets(a);gets(b);len=strlen(b);for(i=0; (ai!=0,); i+) (for(j=0;bj!=0;j+)(if(bUJ=ai)( break;) )
38、 if(len=j) (ck+=ai;) )ck=(y;puts(c); return 0;單詞有多少用空格或換行分開(kāi)的字符串稱(chēng)為單詞。輸入多行字符串,直到遇到了單詞“stop”時(shí)才 停止。最后輸出單詞的數(shù)量。用于分割單詞的空格或換行可能多于1個(gè)。輸入:多個(gè)字符串輸出:?jiǎn)卧~的數(shù)量#include #include #include #define N 100 int main() (char aN20,b= ,s;tVo;p;0,;int i,num=0;for(i=0; i+) (scanf(n%sn,ai);if(strcmp(ai ,b)=0) break;num+; )printf(n
39、%dnn,num); return 0;)指定位置插入字符串輸入兩個(gè)字符串S1、S2和S1中任意字符k ,在S1中的指定字符k第一次出現(xiàn) 的位置處插入字符串S2并輸出。輸入:兩個(gè)字符串S1、S2和S1中任意字符k輸出:插入后的字符串S1#include #include #include #define N 100 int main() (int i,k=0;charnl,aN,bN,cN;gets(a);gets(b);scanf(H%cn,&nl); (for(i=0; istrlen(a); i+) (if(ai!=nl)k+;elsebreak;)for(i=0; ik; i+)(pr
40、intf(n%cai);)for(i=0; istrlen(b); i+)(printf(n%cn,bi);) for(i=k; istrlen(a); i+) (printf(n%cH,ai);)printfCAn1);return 0;)Your Ride Is HereIt is a well-known fact that behind every good comet is a UFO. These UFOs often come to collect loyal supporters from here on Earth. Unfortunately, they only have
41、 room to pick up one group of followers on each trip. They do, however, let the groups know ahead of time which will be picked up for each comet by a clever scheme: they pick a name for the comet which, along with the name of the group, can be used to determine if it is a particular groups turn to g
42、o (who do you think names the comets?). The details of the matching scheme are given below; your job is to write a program which takes the names of a group and a comet and then determines whether the group should go with the UFO behind that comet.Both the name of the group and the name of the comet
43、are converted into a number in the following manner: the final number is just the product of all the letters in the name, where A” is 1 and nZn is 26. For instance, the group nUSACOn would be 21 * 19 * 1 * 3 * 15 = 17955. If the groups number mod 47 is the same as the comets number mod 47, then you
44、need to tell the group to get ready! (Remember that a mod bn is the remainder left over after dividing a by b; 34 mod 10 is 4.)Write a program which reads in the name of the comet and the name of the group and figures out whether according to the above scheme the names are a match, printing GO if th
45、ey match and STAY if not. The names of the問(wèn)題描述編寫(xiě)程序,輸入n的值,求:i-i/2+i/3-i/4+i/5-i/6+i/7-+i/n (保存四位小數(shù))輸入n的值輸出上述算式的求和結(jié)果(結(jié)果保存四位小數(shù))輸入樣例1輸出樣例sum=i.oooo#include #include #include int main()(int n,a=l;double sum=0;scanf(H%dn,&n);while(a=n)sum=sum+( 1.0/a)*pow(-1 ,a-1);a=a+1;)printf(,sum=%.41fnsum);return 0;)5
46、.4分?jǐn)?shù)序列問(wèn)題描述2358132J有一個(gè)分?jǐn)?shù)序列:1235813 ,輸入整數(shù)n,求出具前n項(xiàng)的和。輸入 整數(shù)n groups and the comets will be a string of capital letters with no spaces or punctuation, up to 6 characters long.INPUT FORMATLine 1:An upper case character string of length 1.6 that is the name of the comet.Line 2:An upper case character strin
47、g of length 1.6 that is the name of the group.COMETQHVNGATOUTPUT FORMATA single line containing either the word GO or the word “STAY”.#include #include #include #define N 100 int main() (int i,j;int m,n;char aN,bN;gets(a);gets(b);m=a0-A+1 ;n=b0-A+1;for(i=l;ai!=0,;i+) ()for(i=l;bi!=0;i+)(n=n(bi-A+l);
48、)if(m%47)=(n%47)printf(nGOnH);elseprintf(HSTAYnu);return 0; )大數(shù)相加 問(wèn)題描述:編寫(xiě)C程序,它能以字符串形式讀入兩個(gè)無(wú)符號(hào)正整數(shù)m和n,計(jì)算并輸出這 兩個(gè)整數(shù)之和輸入格式:輸入由兩行組成,第一行為無(wú)符號(hào)整數(shù)m,第二行為無(wú)符號(hào)整數(shù)n,且m和n 的值最長(zhǎng)25位輸出格式:輸出為一行,即兩個(gè)無(wú)符號(hào)整數(shù)m和n之和 輸入樣例:9999888888355729288 輸出樣例: #include #include #include #define N 30 int main() (char aN,bN;int cN= 0,dN= 0 ,i ,j
49、,k,len 1 ,len2,len,len3=0;gets(a);gets(b);lenl=strlen(a);len2=strlen(b);k=0;for(i=lenl-l; i=0; i) (ck+=ai,0; ) j=0;for(i=len2-l; i=0; i-) (dj+=bi-O;)len=len llen2?len l:len2;for(i=0; i=10)ci+l=ci+l+l;ci=ci-10;)if(clen)(len+;)for(i=len-l; i=0; i)printf(n%dn,ci);)printf(nnn);return 0;)字符串重排列判斷一個(gè)字符串是否可
50、以由另一個(gè)字符串通過(guò)重排字符而得到。注意,此處區(qū)分字符大 小寫(xiě)! 輸入輸入只有一行,為兩個(gè)字符串,字符串之間以一個(gè)空格分隔。輸出如果兩個(gè)字符串由同一組字符組成(且每一個(gè)字符出現(xiàn)次數(shù)相同),那么輸出“YES”; 否那么輸出“NO:注意YES和NO都是大寫(xiě)字母!#include #include int main()(char a10,bI0;int i,j,m,n,lenl Jen2;scanf(H%s%sn,a,b);lenl=strlen(a);len2=strlen(b);for(i=0;ilen 1-1 ;i+)for(j=i+l ;jlenl ;j+) aj=ai; ai=m;)for
51、(i=0;ilen2-l ;i+)(for(j=i+l ;jlen2;j+)(if(bi= m=n) o第二行有m個(gè)名字,名字之間用空格隔開(kāi),是小凡班上同學(xué)的名單。后面 有n個(gè)名字是來(lái)上課的同學(xué)。名字間用空格隔開(kāi)。名字的長(zhǎng)度不超過(guò)20個(gè)字符。輸出按照第一行的名單,每個(gè)人對(duì)應(yīng)輸出是否到了。到的人輸出Yes,沒(méi)到的人輸出No。#include #include int main()(char a5050,b5050;int i,j,m,n;scanf(d%d”,&m,&n);for(i=0; im; i+) (scanf(n%sn,ai);)for(i=0; in; i+)(scanf(n%sn,
52、bi);)for(i=0; im; i+)(for (j=0; jn; j+)(if(strcmp(ai,bj)=O)(printf(uYESnM);break;)if(j=n)( printf(uNOnn);)return 0;)找第一個(gè)只出現(xiàn)一次的字符問(wèn)題描述:給定t個(gè)字符串,這個(gè)字符串只可能由26個(gè)小寫(xiě)字母組成,請(qǐng)你找到第一個(gè)僅出現(xiàn)一 次的字符,如果沒(méi)有符合要求的字符,就輸出no。輸入:第一行是t,接下來(lái)是t個(gè)字符串,每個(gè)字符串長(zhǎng)度小于100輸出: 你的輸出需要由t行組成。對(duì)于每個(gè)字符串,輸出第一個(gè)僅出現(xiàn)一次的字符,沒(méi)有輸出NO。輸入樣例:2 aabb abcdab輸出樣例:NO c#i
53、nclude #include #define N 100 int main() (int i,t,cnt26;char sN;scanf(n%dn,&t);getchar(); while(t) (gets(s);for(i=0; i26; i+) cnti=O;)for(i=0; si!=0; i+)( cntsi-,a+;for(i=0; si!=0; i+)(if(cntsi-a*=l) printf(n%cnn,si); break;) ) if(si=,O,)printf(nNOnn);) return 0;)提取數(shù)據(jù)i輸入一個(gè)字符串,長(zhǎng)度不超過(guò)3。,內(nèi)有數(shù)字字符和非數(shù)字字符,統(tǒng)計(jì)
54、其中包含了多少 個(gè)非負(fù)整數(shù),并輸出這樣的非負(fù)整數(shù)。關(guān)于輸入一個(gè)字符串,最大長(zhǎng)度為3。關(guān)于輸出輸出字符串中包含的數(shù)據(jù),一個(gè)數(shù)據(jù)一行.(不用輸出總數(shù))#include #include #define N 30 int main() (char aN;int i,j=0,len,m,n=0,p=0;gets(a);len=strlen(a);for(i=0; i=O&aiv=9)(m=ai-,0,;j=j*10+m; n=l; P二l;) else( if(n=l) (printf(n%dnHj);) p=0;n=0;j=0;)if(p=l)printf(u%dnn,j);) return 0;)
55、判斷字符串是否是回文編程,輸入一個(gè)字符串,輸出該字符串是否回文。關(guān)于輸入輸入為一行字符串(字符串中沒(méi)有空白字符,字符串長(zhǎng)度不超過(guò)100)。關(guān)于輸出如果字符串是回文,輸出yes;否那么,輸出no。#include #include #define N 100 int main() (char aN,bN=0;int i,j,k,len;gets(a);len=strlen(a);for(i=0;ilen;i+) (bi=alen-i-l;)if(strcmp(a,b)=O) (printf(Hyesnn);) else (printf(Hnonn);)return 0;)首字母大寫(xiě)對(duì)一個(gè)字符串中
56、的所有單詞,如果單詞的首字母不是大寫(xiě)字母,那么把單詞的首字母變成 大寫(xiě)字母。在字符串中,單詞之間通過(guò)空白符分隔,空白符包括:空格()、制表符 回車(chē)符(V)、換行符關(guān)于輸入輸入一行:待處理的字符串(長(zhǎng)度小于8o)。關(guān)于輸出輸出一行:轉(zhuǎn)換后的字符串。#include #include #define N 80 int main() (char sN;int i,len,j;gets(s);len=strlen(s);if(s0=a&s0=,A,&s0=tZ,)(s0=s0;)for(i=l; ilen; i+) (if(si=* *|si=,t,|si=V|si=,n,) (for(j=i+1;
57、j=,a,&sj=A&sjk=Z)( break;) ) puts(s);return 0;)繞口令規(guī)那么是:主持人給出一串字符串,要求把這串字母簡(jiǎn)化。該串字符串全部為小寫(xiě)英文字 母。比方:aaabbbaa,那么簡(jiǎn)化為3a3b2a; zzzzeeeeea,那么簡(jiǎn)化為4z5ela。依次類(lèi)推。Input第一行為一個(gè)整數(shù)n,表示共有n組測(cè)試數(shù)據(jù)(lv=n=100)。每組測(cè)試數(shù)據(jù)有一行,該 行第一個(gè)數(shù)為字符串長(zhǎng)度t ( tv= 1,000,000),然后為一行長(zhǎng)度為t的字符串。Output對(duì)于每組輸入數(shù)據(jù)輸出一行,即簡(jiǎn)化后的字符串#include #include #define N 1000000i
58、nt main()(char sNJ;int i,t,j,n,k,cnt;scanf(n%dM,&n);for(k=0;kn ;k+)(scanf(H%dn,&t);scanf(H%sn,s);for(i=0; it; i=j)(cnt= 1;for(j=i+l; jt; j+)( if(si=sj) (cnt+;) else break;)printf(n%d%cH,cnt,si);) printf(nnn);)return 0;)第九章數(shù)的合并輸出上述分?jǐn)?shù)序列的前n項(xiàng)之和提示:輸出語(yǔ)句格式為printf(nsum=%i6.iofnfs);輸入樣例1輸出樣例sum= 2.0000000000
59、#include #include int main()(int n,c,i=l;double s=0,a=2,b=l;scanf(u%dn,&n);while(i=n)(s二s+a/b;c=a;a=a+b;b=c;i+;)printf(nsum=% 16.1 OfnM,s);return 0;)求e的值問(wèn)題描述編寫(xiě)程序,從鍵盤(pán)輸入整數(shù)n,求e的值。e=i+i/i!+i/2!+i/3!+.+i/n! 注意:用 double型數(shù)據(jù)計(jì)算。輸入整數(shù)n輸出e的值 請(qǐng)編寫(xiě)函數(shù)fun,其功能是:將兩個(gè)兩位數(shù)的正整數(shù)a、b合并形成一個(gè)整數(shù)放在c中。 合并的方式是:將a的十位和個(gè)位依次存放在c數(shù)的十位和千位上
60、,b的十位和個(gè)位依 次存放在c數(shù)的個(gè)位和百位上。例如:當(dāng)a=45,b=i2,調(diào)用該函數(shù)后,c=5241。提醒:此題提交的時(shí)候,只需要提交fun函數(shù)就可以。#include int fun (int a,int b)(int c;c=a% 10*1000+a/10% 10* 10+b% 10*100+b/10% 10* 1;return c;)int main()(int a,b,c;scanf(n%d%dn,&a,&b);c=fun(a,b);printf(c二%dn”,c);return 0;)素?cái)?shù)判斷請(qǐng)編寫(xiě)函數(shù)fun,其功能是判斷一個(gè)整數(shù)n是否為素?cái)?shù),如果是素?cái)?shù),那么返回1,否那么 返回0
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 開(kāi)發(fā)部項(xiàng)目管理年終總結(jié)
- 第八章 幼兒園數(shù)與運(yùn)算活動(dòng)的設(shè)計(jì)與指導(dǎo)教學(xué)案例
- 部編版五年級(jí)語(yǔ)文下冊(cè)第一單元標(biāo)準(zhǔn)檢測(cè)卷(含答案)
- 大客車(chē)常用知識(shí)培訓(xùn)課件
- 《GBT 40413-2021應(yīng)急物流公共標(biāo)識(shí)代碼編制規(guī)則》全新解讀
- 寒假旅游出行安全
- 護(hù)理科研的意義和特點(diǎn)
- 小自考行政管理挑戰(zhàn)與試題及答案
- 學(xué)校項(xiàng)目管理研究報(bào)告
- 2025年甲乙雙方村莊共建橋梁合同模板
- 2024年護(hù)理不良事件培訓(xùn)考試試題
- 會(huì)計(jì)師聘書(shū)模板
- 粵教版科學(xué)四年級(jí)上冊(cè)全冊(cè)試卷(含答案)
- 計(jì)算機(jī)應(yīng)用基礎(chǔ)(Windows10+Office2016)(第3版)-教案 情境5、6 Word2016基本操作、實(shí)驗(yàn) Word 2016基本操作
- 《鐵路建設(shè)項(xiàng)目質(zhì)量安全紅線管理規(guī)定》
- 鹽酸丙卡特羅吸入溶液-藥品臨床應(yīng)用解讀
- 企業(yè)管理的創(chuàng)新管理
- DLT827-2002 燈泡貫流式水輪發(fā)電機(jī)組起動(dòng)試驗(yàn)規(guī)程
- 房屋租賃合同模板(10篇)
- 佛山市社會(huì)保險(xiǎn)歷年費(fèi)基費(fèi)率一覽表
- 汽車(chē)電氣設(shè)備構(gòu)造與維修-第2版-配套課件
評(píng)論
0/150
提交評(píng)論