2C語(yǔ)言A卷包含答案版_第1頁(yè)
2C語(yǔ)言A卷包含答案版_第2頁(yè)
2C語(yǔ)言A卷包含答案版_第3頁(yè)
2C語(yǔ)言A卷包含答案版_第4頁(yè)
2C語(yǔ)言A卷包含答案版_第5頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

卷20132014學(xué)年第2學(xué)期計(jì)算機(jī)程序設(shè)計(jì)C(2-2)期末考試試卷專業(yè)班級(jí)姓名學(xué)號(hào)開課系室計(jì)算機(jī)應(yīng)用技術(shù)系考試日期 2014年6月22日題號(hào)一二三總分得分閱卷人一、程序閱讀題(每空2分,共20分)1又是一年一度的畢業(yè)季,馬上要離開校園踏上工作崗位的同學(xué)們?cè)谂臄z完照片之后,大家有了一個(gè)共同的想法那就是在畢業(yè)前互換禮物。到了約定的日子,同學(xué)們帶來(lái)的禮物琳瑯滿目,都不知道該如何交換了。于是,在經(jīng)過(guò)討論后一致決定,大家將n個(gè)禮物放在一起統(tǒng)一編號(hào)為1,2,n,并同時(shí)對(duì)該禮物的擁有者進(jìn)行相同編號(hào)。交換的規(guī)則是:1號(hào)同學(xué)與n號(hào)同學(xué)的禮物互換,2號(hào)同學(xué)與n-1號(hào)同學(xué)的禮物互換,以此類推。請(qǐng)閱讀下面程序并完成填空。#include #define N 120 + 1int main( ) int aN = 0,n,i,j,t; scanf(%d,&n); for( i = 1; i = n; i+ ) 【1】; for( i = 1, 【2】 ; 【3】 ; i +, j- ) t = ai;ai = aj; aj = t; for( i = 1; i = n; i + ) printf(%d ,ai); printf(n); return 0;2.下面函數(shù)的功能是統(tǒng)計(jì)字符串substr在字符串str中出現(xiàn)的次數(shù),請(qǐng)閱讀下面程序段并完成填空。int count(char str, char substr) int i,j,k,num=0; for (i = 0; stri != 0; i +) 【4】; for(j = 0; substrj != 0; k +,j +) if(【5】) break; if(substrj = 0) num +; 【6】;3.在Windows操作系統(tǒng)中的“復(fù)制-粘貼-重命名”功能,可以實(shí)現(xiàn)將文件從一個(gè)位置復(fù)制粘貼到另外一個(gè)位置。下面程序的功能實(shí)現(xiàn)的是將文本文件a.txt的內(nèi)容復(fù)制到b.txt中,復(fù)制過(guò)程中要求將a.txt中的所有小寫英文字母都轉(zhuǎn)換成大寫英文字母。請(qǐng)閱讀下面程序并完成填空。#include int main()【7】; char ch,infile20 = a.txt,outfile20 = b.txt; if(in = fopen(infile,r)!= NULL & (out = fopen(outfile,w) != NULL) while ( 【8】 ) ch = fgetc(in); if ( 【9】 ) ch = ch - (a - A);【10】 ; fclose(in); fclose(out); return 0;二、程序改錯(cuò)題(每處錯(cuò)誤2分,共20分,請(qǐng)修改并且只能修改/*found*/的下一行,將完整的修改行填到后面答題頁(yè))1.下面函數(shù)完成的功能是:將數(shù)組a中的n個(gè)無(wú)序整數(shù)從小到大排序。void fun(int n,int a) int i,j,p,t; for( i = 0; i n - 1; i + ) /*found【1】*/ p = 0; for( j = i + 1; j n; j + ) /*found【2】*/ if( ap aj ) /*found【3】*/t = j; if( p != i ) t = ai; ai = ap; ap = t; 2.程序通過(guò)定義學(xué)生結(jié)構(gòu)體變量,存儲(chǔ)了某一個(gè)學(xué)生的姓名和程序設(shè)計(jì)課程的成績(jī)。函數(shù) fun 的功能是對(duì)形參 b 所指結(jié)構(gòu)體變量中的數(shù)據(jù)進(jìn)行修改,由鍵盤輸入修改后的姓名和成績(jī),最后在主函數(shù)中輸出修改后的數(shù)據(jù)。#include #include struct student char name20;int score;void fun( struct student *b) char name120; int score1; printf(輸入修改后的學(xué)生姓名和成績(jī):); /*found【4】*/ scanf(%s%d,&name1,&score1); /*found【5】*/ b-name = name1; b-score = score1;int main() struct student t = ZhangWen, 90; int i; /*found【6】*/ fun(t); printf(Name: %s Score:%dn, ,t.score); return 0;3.函數(shù) fun的功能是將h所指的帶有頭結(jié)點(diǎn)的單向鏈表結(jié)點(diǎn)中數(shù)據(jù)域?yàn)榕紨?shù)的值累加起來(lái),并且作為函數(shù)值返回。int fun(NODE *h) /*found【7】*/int sum; NODE *p = h-next; /*found【8】*/ while(p-next != NULL) /*found【9】*/ if(p-data % 2 = 1) sum += p-data; /*found【10】*/ p = h-next; return sum;三、程序設(shè)計(jì)題(每題10分,共60分)1南門的樹進(jìn)入石油大學(xué)南大門,長(zhǎng)度為L(zhǎng)的馬路東邊有一排樹,每?jī)煽孟噜彽臉渲g的間隔都是1米。如果把馬路看成一個(gè)數(shù)軸,馬路的一端在數(shù)軸0的位置,另一端在L的位置;數(shù)軸上的每個(gè)整數(shù)點(diǎn),即0,1,2,L,都種有一棵樹。由于馬路上有一些區(qū)域要用來(lái)修建停車場(chǎng)。這些區(qū)域用它們?cè)跀?shù)軸上的起始點(diǎn)和終止點(diǎn)表示。已知任一區(qū)域的起始點(diǎn)和終止點(diǎn)的坐標(biāo)都是整數(shù),區(qū)域之間可能有重合的部分。現(xiàn)在要把這些區(qū)域中的樹(包括區(qū)域端點(diǎn)處的兩棵樹)移走。你的任務(wù)是計(jì)算將這些樹都移走后,馬路上還有多少棵樹。輸入輸入的第一行有兩個(gè)整數(shù)L(1 = L = 1000)和 M(1 = M = 10),L代表馬路的長(zhǎng)度,M代表區(qū)域的數(shù)目,L和M之間用一個(gè)空格隔開。接下來(lái)的M行每行包含兩個(gè)不同的整數(shù),用一個(gè)空格隔開,表示一個(gè)區(qū)域的起始點(diǎn)和終止點(diǎn)的坐標(biāo)(起始點(diǎn)坐標(biāo)終止點(diǎn)坐標(biāo))。輸出輸出包括一行,這一行只包含一個(gè)整數(shù),表示馬路上剩余的樹的數(shù)目。樣例輸入500 3150 300100 200470 471樣例輸出2982.日期轉(zhuǎn)換2014年是一個(gè)平年,農(nóng)歷甲午年,所屬生肖馬。2014年年歷如下圖現(xiàn)在已知2014年的第幾天,計(jì)算出它是幾月幾日輸入一個(gè)整數(shù)n,表示2014年的第幾天。輸出輸出對(duì)應(yīng)的是幾月幾日。樣例輸入173樣例輸出6月22日#include /*此處完成fun函數(shù)*/int main() int n,month,day; scanf(%d,&n);fun(n,&month,&day) ;printf(%d月%d日n,month, day) ; return 0; 3.A+B FormatDescriptionCalculate a + b and output the sum in standard format - that is, the digits must be separated into groups of three by commas (unless there are less than four digits).InputEach line contains a pair of integers a and b, where -1000000 = a, b = 1000000. The numbers are separated by a space.OutputFor each test case, you should output the sum of a and b in one line. The sum must be written in the standard format.Sample Input1-1000000 9Sample Output1-999,991Sample Input21000 9Sample Output21,009HintThe sum will not be equal to zero.4.回文百度百科中“把相同的詞匯或句,在下文中調(diào)換位置或顛倒過(guò)來(lái),產(chǎn)生首尾回環(huán)的情趣,叫做回文”。例如:蜜蜂釀蜂蜜,風(fēng)扇能扇風(fēng),奶牛產(chǎn)牛奶,清水池里池水清,靜泉山上山泉,上海自來(lái)水來(lái)自海上,霧鎖山頭山鎖霧,天連水尾水連天,院滿春光春滿院,門盈喜氣喜盈門現(xiàn)給定一字符串,你的任務(wù)是判斷它是否是回文串,并按照指定格式輸出。輸入輸入為一行字符串(字符串中沒(méi)有空白字符,字符串長(zhǎng)度不超過(guò)80)。輸出若是回文,則在字符之間插入*,并輸出;若不是,則原樣輸出。樣例輸入1abcmcba樣例輸出1a*b*c*m*c*b*a樣例輸入2 abcdefg樣例輸出2abcdefg5. Box of BricksLittle Bob likes playing with his box of bricks. He puts the bricks one upon another and builds stacks of different height. Look, Ive built a wall!, he tells his older sister Alice. Nah, you should make all stacks the same height. Then you would have a real wall., she retorts. After a little consideration,Bob sees that she is right. So he sets out to rearrange the bricks, one by one, such that all stacks are the same height afterwards. But since Bob is lazy he wants to do this with the minimum number of bricks moved. Can you help?InputThe input consists of two lines. The first line contains the number n of stacks Bob has built. The next line contains n numbers, the heights hi of the n stacks. You may assume 1n50,1hi100.The total number of bricks will be divisible by the number of stacks. Thus, it is always possible to rearrange the bricks such that all stacks have the same height.Output Print the line The minimum number of moves is k., where k is the minimum number of bricks that have to be moved in order to make all the stacks the same height.Sample Input65 2 4 1 7 5Sample OutputThe minimum number of moves is 5.6.學(xué)分績(jī)中國(guó)石油大學(xué)(華東)學(xué)生素質(zhì)綜合評(píng)價(jià)辦法中“綜合評(píng)價(jià)是對(duì)學(xué)生德智體諸方面所作的全面的、系統(tǒng)的評(píng)價(jià)。目的是貫徹黨的教育方針,引導(dǎo)全體學(xué)生“以學(xué)習(xí)為中心,走全面發(fā)展之路”,充分調(diào)動(dòng)學(xué)生的主管能動(dòng)性,培養(yǎng)學(xué)生成為有理想、有道德、有文化、有紀(jì)律的社會(huì)主義建設(shè)者和接班人”。并在學(xué)生素質(zhì)綜合評(píng)價(jià)體系中列舉了指標(biāo)內(nèi)涵、權(quán)重設(shè)置、評(píng)價(jià)方法、等級(jí)標(biāo)準(zhǔn)。對(duì)于總成績(jī)的計(jì)算方法,具體如下:總成績(jī)(Ii*Xi)Ii+0.003(Ni*Xi)其中:(1)Ii表示各門必修課、限選課的學(xué)分?jǐn)?shù);(2)Xi表示所學(xué)課程的百分制成績(jī);(3)Ni表示任意選修課的學(xué)分?jǐn)?shù);(4)成績(jī)按所得的分?jǐn)?shù)計(jì)算。輸入第一行,一個(gè)整數(shù)T(0T100),表示該學(xué)生的課程門數(shù)。接下來(lái)的T行,每行表示一門課程的信息。每門課程信息課程名,課程的百分制成績(jī),課程的學(xué)分?jǐn)?shù)和課程的類別(必修、限選、任選)四項(xiàng)組成。輸出該學(xué)生的學(xué)分績(jī),保留到小數(shù)點(diǎn)后面2位。樣例輸入3程序設(shè)計(jì) 98 2 必修英語(yǔ) 80 3 必修書法69 1 任選樣例輸出87.41#include #include #define M 100typedef struct course char name30;/課程名 int score;/成績(jī) int credit;/學(xué)分 char type10;/課程類別COURSE;/*此處完成fun函數(shù)*/int main() int T,i; doubleave; COURSE sM; scanf(%d,&T); for(i = 0;i T;i +) scanf(%s%d%d%s,,&si.score,&si.credit,si.type); ave = fun(s,T); printf(%.2fn,ave); return 0;答案1. ai = i2.j = n3.i = a & ch aj)3.p = j4. scanf(%s%d,name1,&score1);5.strcmp(b-name,name1);6.fun(&t);7.int sum = 0;8.p != NULL9.if(p-data % 2 = 0)10.p = p-next;1.#include #define L 1000int main() int i,j,sum=0,treenum,casenum,treeL = 0,p,q; scanf(%d%d,&treenum,&casenum); for(i=0; i= treenum; i+) treei= 1; while(casenum -) scanf(%d%d,&p,&q); for(i = p; i = q; i +) treei = 0; for(i = 0; i = treenum; i +) if(treei = 1) sum+; printf(%dn,sum); return 0;2.void fun(int n,int *month,int *day) inti,a13=0,31,28,31,30,31,30,31,31,30,31,30,31; for(i = 1;i 13;i +) n -= ai; if(n 0) *month = i; break; *day = n + ai;void fun(int n,int *m,int *d) int month13 = 0,31,28,31,30,31,30,31,31,30,31,30,31; int i,s = 0; for( i = 1; i 13; i+ ) s += monthi; if( n - s = 28 ) *m = i + 1; *d = n - s; break; void fun(int n,int *m,int *d) int month13=0,31,28,31,30,31,30,31,31,30,31,30,31; int i; for( i = 1; i 13; i+ ) n -= monthi; if( n = 28 ) *m = i + 1; *d = n; break; 3.A+B format#include int main() int a,b,c; char s10; int i = 0,j; scanf(%d%d,&a,&b); c = a + b; if(c = 0; j-) printf(%c,sj); return 0;#include int main() int a,b,sum,i = 0,s20,j; scanf(%d%d,&a,&b); sum = a + b; if( sum =0; j- ) printf(%d,sj); if( j % 3 = 0 & j != 0 ) printf(,); printf(n); return 0;4.#include #include #define M 80 + 1int Huiwen(char s,int len) int i,flag = 1; for(i = 0; i = len / 2; i +) if(si != slen - 1 - i) flag = 0; break; return flag;int main() char sM; int i,len; gets(s); len = strlen(s); if(Huiwen(s,len) for(i = 0; i len - 1; i +) printf(%c*,si); printf(%cn,si); else puts(s); return 0;#inc

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論