版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、期末考試說明本次考試全部采用筆試形式,分為如下三種題型一、程序閱讀題(10空X2分/空=20分)二、程序修改題(10空X2分/空=20分)三、程序設(shè)計題(6題xio分/題=6o分)程序閱讀和修改題主要涉及知識點如下:scanf 和 printf、switch 循環(huán) (for、while do-while) 及和 break、continue 結(jié)合、 二維數(shù)組處理、字符串處理、函數(shù)遞歸調(diào)用、static、宏定義展開、文件定義、翻開fopen、 關(guān)閉fclose和讀寫操作(fscanf和fprintf)程序設(shè)計題主要考核如下內(nèi)容:.單純的分支結(jié)構(gòu).單純的一層循環(huán)結(jié)構(gòu).實現(xiàn)完整的函數(shù):函數(shù)的定義、函
2、數(shù)體的編寫、帶返回值的和不帶返回值的函數(shù)、值 傳遞、地址傳遞。涉及到分支、循環(huán)、數(shù)組、字符串、結(jié)構(gòu)體等。以下內(nèi)容不做考試要求: 指向二維數(shù)組的指針、指針函數(shù)、指針數(shù)組、多級指針、共用體、枚舉、位運算、文件 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ù)問題描述輸入一個正整數(shù),判斷是否為回文數(shù)。輸入一個正整數(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;)貪吃的猴子問題描述有一只猴子,第一天摘了假設(shè)干個桃子,當(dāng)即吃了一半,但還覺得不過癮,就又多吃了 一個。第2天早上又將剩下的桃子吃掉一半,還是覺得不過癮,就又多吃了兩個。以后 每天
4、早上都吃了前一天剩下的一半加天數(shù)個(例如,第5天吃了前一天剩下的一半加5 個)。到第n天早上再想吃的時候,就只剩下一個桃子了。輸入天數(shù)n輸出第一天的桃子個數(shù)。提示:輸出語句為printf(nThe monkey got %d peachs in first daynsum);輸入樣例5輸出樣例The monkey got 114 peachs in first day.提示:問題分析:總共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ù)問題描述一個馬戲團(tuán)表演,n個座位全滿,全部門票收入是120元,現(xiàn)在
6、知道,男人每人5元, 女人每人2元,小孩每人1角。根據(jù)總?cè)藬?shù),計算出男人、女人和小孩各多少人。輸入總?cè)藬?shù)n輸出男人、女人和小孩人數(shù),假設(shè)n人無法滿足條件,那么輸出“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;)迭代法問題描述用迭代法求x = V.o求平方根的迭代公式為:要求
7、前后兩次求出的X的差的絕對值小于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、所示的簡單迭代方法求方程:cos(x)-x=。的一個實根。Xn+i=COS(Xn)迭代步驟如下:輸入數(shù)據(jù)給XI;(2)XO=X1,把XI的值賦給XO;(3)xi=cos(xo),求出一個新的 xi;(4)假設(shè)XO-X1的絕對值小于0.000001,執(zhí)行步驟(5),否那么執(zhí)行步驟(2);(5)所求xi就是方程cos(x)-x=o的一個實根,輸出xi,輸出語句為printf(nx=%lf;o提示:此題xo和xi定義為double類型#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求一個三位數(shù),其值等于其各位階乘之和問題描述編寫程序,求某三位數(shù),該數(shù)值的大小正好是組成這個數(shù)的三個位上的數(shù)字階乘之和。輸入 無輸出滿足上述條件的三位數(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;)第六章誰能出線背景:電視臺舉辦“超級學(xué)生”才藝大賽,由于報名人數(shù)狂多,所以要先進(jìn)行分組預(yù)賽。按規(guī)定, 每10名學(xué)生為一個預(yù)賽小組,評委打出分?jǐn)?shù)(0100分),各小組第一名可以進(jìn)入下 一輪;如果有多名學(xué)生得分相同都是第一名,那么可同時進(jìn)入下一輪。輸入:按順序給出一個小組1。個人的最后得分(int)。輸出:能夠出線的學(xué)生序號(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)計素數(shù)個數(shù)求出2到m之間(含m, m=iooo)所有素數(shù)并放在數(shù)組a中。輸入:正整數(shù)m輸出:從小到大的所有素數(shù),及個數(shù)(素數(shù)輸出的時候用4d來控制)如:輸入: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)的基本概念是:依次比擬相鄰的兩個數(shù),將小數(shù)放在前面,大 數(shù)放在后面。即在第一趟:首先比擬第1個和第2個數(shù),將小數(shù)放前,大數(shù)放后。然后 比擬第2個數(shù)和第3個數(shù),將小數(shù)放前,大數(shù)放后,如此繼續(xù),直至比擬最后兩個數(shù), 將小數(shù)放前,大數(shù)放后。至此第一趟結(jié)束,將最大的數(shù)放到了最后
13、。在第二趟:仍從第 一對數(shù)開始比擬(因為可能由于第2個數(shù)和第3個數(shù)的交換,使得第1個數(shù)不再小于第 2個數(shù)),將小數(shù)放前,大數(shù)放后,一直比擬到倒數(shù)第二個數(shù)(倒數(shù)第一的位置上已經(jīng) 是最大的),第二趟結(jié)束,在倒數(shù)第二的位置上得到一個新的最大數(shù)(其實在整個數(shù)列 中是第二大的數(shù))。如此下去,重復(fù)以上過程,直至最終完成排序。由于在排序過程中總是小數(shù)往前放,大數(shù)往后放,相當(dāng)于氣泡往上升,所以稱作冒泡排序。編寫程序,對輸入的十個數(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; )插入法排序如果一個數(shù)組中保存的元素是有序的(由小到大),向這個數(shù)組中插入一個數(shù),使得插 入后的數(shù)組元素依然保持有序。定義一個數(shù)組,長度為11,初始元素為10個,按照從小到大的方式輸入,然后輸入一 個要插入的元素,使得插入后仍然有序。#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ī)c語言上機(jī)題、第四章4.1溫度轉(zhuǎn)換,第一個數(shù)據(jù)(1或2)確定轉(zhuǎn)換的類型:華氏轉(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輸出一行星號#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ù)任意輸入一個自然數(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ù)組逆序輸出、 問題描述從鍵盤上輸入一個數(shù)組(10個元素),將原數(shù)組逆序重新排列后輸出。要求輸出每個 元素時以一個空格隔開。提示:用第一個與最后一個交換。#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;)求最大值 問題描述要求從鍵盤輸入10個整型數(shù)據(jù),找出其中的最大值并顯示出來。輸入范例3 o 54 -71。27 32767 10 1 5。0 2輸出范例32767提示先假定第一個元素時最大值,然后和其他的元素一個一個的進(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ù)組 問題描述:程序定義了 4X4的二維數(shù)組,請編寫程序,給二維數(shù)組賦值,并使數(shù)組下半三角元素 中的值乘以n o例如:數(shù)組中的值為12 3 42 2 3 43 2 3 44 2 3 4假設(shè)n為10,那么輸出結(jié)果如下:(輸出的數(shù)按照4位寬度來輸出,即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;)在屏幕上輸出楊輝三角楊輝三角形,又稱賈憲三角形,帕斯卡三角形,是二項式系數(shù)在三角形中的一種幾何排 列。其實,中國古代數(shù)學(xué)家在數(shù)學(xué)的許多重要領(lǐng)域中處于遙遙領(lǐng)先的地位。中國古代數(shù) 學(xué)史曾經(jīng)有自己光
21、輝燦爛的篇章,而賈憲三角的發(fā)現(xiàn)就是十分精彩的一頁。楊輝三角有如下性質(zhì):1、每行數(shù)字左右對稱,由1開始逐漸變大,然后變小,回到1。2、第n行的數(shù)字個數(shù)為n個。3、每個數(shù)字等于上一行的左右兩個數(shù)字之和。編寫程序,輸入正數(shù)n,將所有數(shù)據(jù)存儲到二維數(shù)組中,并在屏幕上顯示對應(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球周邊元素之和編寫一個程序,求出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存儲并輸出一個矩陣編程,輸入n ,存儲并輸出如下例(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ù)組中元素按順序編號 對數(shù)組aio中的十個整數(shù)從小到大進(jìn)行連續(xù)編號,輸出各個元素的編號。要求不能 改變數(shù)組a中元素的順序,且相同的整數(shù)要具有相同的編號。例如數(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時,矩陣int就33,矩陣int b33。矩陣的數(shù) 據(jù)由用戶輸入。輸出新的矩陣C=a+bo輸出格式:COO COl C02 CIO Cll C12 C20 C21 C22 每兩個
26、數(shù)字之間有1個空格關(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、)編程計算)printf(nnn);)return 0;)矩陣轉(zhuǎn)置在數(shù)學(xué)上,矩陣是指縱橫排列的二維數(shù)據(jù)表格,最早來自于方程組的系數(shù)及常數(shù)所構(gòu)成 的方陣。這一概念由19世紀(jì)英國數(shù)學(xué)家凱利首先提出。矩陣概念在生產(chǎn)實踐中也有許 多應(yīng)用,比方矩陣圖法以及保護(hù)個人帳號的矩陣卡系統(tǒng)(由深圳網(wǎng)域提出)等等。“矩 陣”的本意也常被應(yīng)用,比方監(jiān)控系統(tǒng)中負(fù)責(zé)對前端視頻源與控制線切換控制的模擬設(shè) 備也叫矩陣。設(shè)A為nxn階矩陣(即n行n列),第i行j列的元素是a(i,j),即:A=a(i,j) 定義A的轉(zhuǎn)置為這樣一個nxn階矩陣B,滿足即b (i,j)=a (j,i) (B的第i行 第j列元素是A的第j行第i列元素
29、),記A=B。(有些書記為AT=B,這里T為A的 上標(biāo))直觀來看,將A的所有元素繞著一條從第1行第1列元素出發(fā)的右下方45度的 射線作鏡面反轉(zhuǎn),即得到A的轉(zhuǎn)置。輸入:有n+1行(2nio),第一行是一個整數(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ù),對每個整數(shù)的每一位數(shù)字統(tǒng)計09各個數(shù)字的出現(xiàn)次數(shù),求出現(xiàn)次 數(shù)最多的數(shù)字。輸入:有兩行,第一行是整數(shù)n (i=n=ioo),表示有n個整數(shù);第二行是n個整數(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裝箱問題假設(shè)有n項物品
32、,大小分別為si, S2, sn,其中si是整數(shù)且滿足:i=si=ioo。要把這些物品裝入到容量為100的一批箱子(序號in)中。裝箱方法是:對每項物品 si,依次掃描所有這些箱子,把si放入足以能夠容下它的第一個箱子中(first-fit策略)。 寫一個程序來模擬這個裝箱的過程。輸入:有兩行。第一行是整數(shù)n(n=iooo),表示物品的個數(shù);第二行是n個整數(shù)si(si=ioo), 分別表示n個物品的大小輸出:每個物品所在的箱子序號,并輸出所需的箱子數(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)換 描述提取一個字符串中的所有數(shù)字字符將其轉(zhuǎn)換為一個整數(shù)輸出。輸入一個以回車符
34、為結(jié)束標(biāo)志的字符串(少于8o個字符)。輸出把字符串中的所有數(shù)字字符(o9)轉(zhuǎn)換為一個整數(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;)合并字符串輸入兩個已經(jīng)按從小到大順序排列好的字符串,編寫一個合并兩個字符串的函數(shù),使合 并后的字符串,仍然是從小到大排列。輸入:兩個已經(jīng)排好順序(升序)的字符串輸
35、出:一個合并在一起的有序(升序)的字符串要求:設(shè)計一個效率盡量高的算法,對每個字符串只掃描一遍就可以了。 如果采用先進(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ù)字符背景:輸入一個長度不超過100的字符串,刪除串中的重復(fù)字符。輸入:輸入要檢查的字符串,長度不超過100個字符。例如: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;刪除字符串中指定字符輸入兩個字符串S1和S2 ,在S1中刪除任何S2中有的字符。例如,S1 : “abci23ad”,S2 : “ ai ” ,那么輸出“bc23d”。輸入:兩個字符串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;單詞有多少用空格或換行分開的字符串稱為單詞。輸入多行字符串,直到遇到了單詞“stop”時才 停止。最后輸出單詞的數(shù)量。用于分割單詞的空格或換行可能多于1個。輸入:多個字符串輸出:單詞的數(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;)指定位置插入字符串輸入兩個字符串S1、S2和S1中任意字符k ,在S1中的指定字符k第一次出現(xiàn) 的位置處插入字符串S2并輸出。輸入:兩個字符串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問題描述編寫程序,輸入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ù)序列問題描述2358132J有一個分?jǐn)?shù)序列:1235813 ,輸入整數(shù)n,求出具前n項的和。輸入 整數(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ù)相加 問題描述:編寫C程序,它能以字符串形式讀入兩個無符號正整數(shù)m和n,計算并輸出這 兩個整數(shù)之和輸入格式:輸入由兩行組成,第一行為無符號整數(shù)m,第二行為無符號整數(shù)n,且m和n 的值最長25位輸出格式:輸出為一行,即兩個無符號整數(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;)字符串重排列判斷一個字符串是否可
50、以由另一個字符串通過重排字符而得到。注意,此處區(qū)分字符大 小寫! 輸入輸入只有一行,為兩個字符串,字符串之間以一個空格分隔。輸出如果兩個字符串由同一組字符組成(且每一個字符出現(xiàn)次數(shù)相同),那么輸出“YES”; 否那么輸出“NO:注意YES和NO都是大寫字母!#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個名字,名字之間用空格隔開,是小凡班上同學(xué)的名單。后面 有n個名字是來上課的同學(xué)。名字間用空格隔開。名字的長度不超過20個字符。輸出按照第一行的名單,每個人對應(yīng)輸出是否到了。到的人輸出Yes,沒到的人輸出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;)找第一個只出現(xiàn)一次的字符問題描述:給定t個字符串,這個字符串只可能由26個小寫字母組成,請你找到第一個僅出現(xiàn)一 次的字符,如果沒有符合要求的字符,就輸出no。輸入:第一行是t,接下來是t個字符串,每個字符串長度小于100輸出: 你的輸出需要由t行組成。對于每個字符串,輸出第一個僅出現(xiàn)一次的字符,沒有輸出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輸入一個字符串,長度不超過3。,內(nèi)有數(shù)字字符和非數(shù)字字符,統(tǒng)計
54、其中包含了多少 個非負(fù)整數(shù),并輸出這樣的非負(fù)整數(shù)。關(guān)于輸入一個字符串,最大長度為3。關(guān)于輸出輸出字符串中包含的數(shù)據(jù),一個數(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、判斷字符串是否是回文編程,輸入一個字符串,輸出該字符串是否回文。關(guān)于輸入輸入為一行字符串(字符串中沒有空白字符,字符串長度不超過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;)首字母大寫對一個字符串中
56、的所有單詞,如果單詞的首字母不是大寫字母,那么把單詞的首字母變成 大寫字母。在字符串中,單詞之間通過空白符分隔,空白符包括:空格()、制表符 回車符(V)、換行符關(guān)于輸入輸入一行:待處理的字符串(長度小于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ī)那么是:主持人給出一串字符串,要求把這串字母簡化。該串字符串全部為小寫英文字 母。比方:aaabbbaa,那么簡化為3a3b2a; zzzzeeeeea,那么簡化為4z5ela。依次類推。Input第一行為一個整數(shù)n,表示共有n組測試數(shù)據(jù)(lv=n=100)。每組測試數(shù)據(jù)有一行,該 行第一個數(shù)為字符串長度t ( tv= 1,000,000),然后為一行長度為t的字符串。Output對于每組輸入數(shù)據(jù)輸出一行,即簡化后的字符串#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項之和提示:輸出語句格式為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的值問題描述編寫程序,從鍵盤輸入整數(shù)n,求e的值。e=i+i/i!+i/2!+i/3!+.+i/n! 注意:用 double型數(shù)據(jù)計算。輸入整數(shù)n輸出e的值 請編寫函數(shù)fun,其功能是:將兩個兩位數(shù)的正整數(shù)a、b合并形成一個整數(shù)放在c中。 合并的方式是:將a的十位和個位依次存放在c數(shù)的十位和千位上
60、,b的十位和個位依 次存放在c數(shù)的個位和百位上。例如:當(dāng)a=45,b=i2,調(diào)用該函數(shù)后,c=5241。提醒:此題提交的時候,只需要提交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;)素數(shù)判斷請編寫函數(shù)fun,其功能是判斷一個整數(shù)n是否為素數(shù),如果是素數(shù),那么返回1,否那么 返回0
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度水泥生產(chǎn)線環(huán)保設(shè)施維護(hù)合同
- 課題申報參考:明清時期陜西古地圖資料集成與數(shù)字活化研究
- 課題申報參考:馬克思主義文藝育德觀的中國化時代化研究
- 2025版生態(tài)農(nóng)業(yè)設(shè)施建設(shè)合同規(guī)范文本3篇
- 2025年度門窗安裝與智能化家居系統(tǒng)集成合同范本3篇
- 2025年度個人信用擔(dān)保委托代理合同3篇
- 2025年度內(nèi)參內(nèi)容整合與傳播合同4篇
- 2025年度二手車買賣合同車輛交易信息保密及共享協(xié)議4篇
- 2025年度個人醫(yī)療貸款合同范本修訂版3篇
- 二零二五年度建筑模板腳手架租賃與拆除服務(wù)合同規(guī)范4篇
- 充電樁項目運營方案
- 退休人員出國探親申請書
- 傷殘撫恤管理辦法實施細(xì)則
- 高中物理競賽真題分類匯編 4 光學(xué) (學(xué)生版+解析版50題)
- 西方經(jīng)濟(jì)學(xué)-高鴻業(yè)-筆記
- 幼兒園美術(shù)教育研究策略國內(nèi)外
- 高中英語選擇性必修一單詞表
- 物業(yè)公司介紹
- 2024屆河南省五市高三第一次聯(lián)考英語試題及答案
- 【永輝超市公司員工招聘問題及優(yōu)化(12000字論文)】
- 孕婦學(xué)校品管圈課件
評論
0/150
提交評論