江蘇10春二級C語言上機01-06.doc_第1頁
江蘇10春二級C語言上機01-06.doc_第2頁
江蘇10春二級C語言上機01-06.doc_第3頁
江蘇10春二級C語言上機01-06.doc_第4頁
江蘇10春二級C語言上機01-06.doc_第5頁
已閱讀5頁,還剩5頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

江蘇省2010春計算機二級C語言(C01)一 改錯題【程序功能】驗證3n范圍內(nèi)的任意兩個相鄰素數(shù)的平方之間至少存在4個素數(shù)。例如,5和7是兩個相鄰素數(shù),52(25)與72(49)之間存在6個素數(shù):29 31 37 41 43 47【測試程序與運算結(jié)果】 顯示:input n: 輸入:10輸出:35 k=511 13 17 19 23 57 k=6 29 31 37 41 43 47【含有錯誤的源程序】#include #includeint prime(int n) int I,flag=1;for(i=1;i=sqrt(n);i+)If(n%i=0)flag=0;return flag;int fun(int a,int n) int I,k=0;for(i=3;in) return 0;for(i=m*m;in*n;i+)if(prime(i)bk+=I;return k;void main() int a50=0,b100=0,I,m,k,j,n;printf(“input n:”);scanf(“%d”,&n);m=fun(a,n);for(i=0;im;i+) k=fun1(ai,ai+1,b0);printf(“%d%d k=%d,ai,ai+1,k”);if(k4)printf(“false”);break;for(j=0;jk;j+) if(j%10=0)printf(“n”);printf(“%5d”,bj);printf(“n”);getch();【要求】1. 將上述程序錄入到文件myf1.c中,根據(jù)題目要求及程序中語句之間的邏輯關(guān)系對程序中的錯誤進(jìn)行修改。2 改錯時,可以修改語句中的一部分內(nèi)容,調(diào)整語句次序,增加少量的變量說明或編譯預(yù)處理命令,單不能增加其他語句,也不能山區(qū)整條語句。3 改正后的源程序(文件名myf1.c)保存在T:盤根目錄中共閱卷使用,否則不予評分。二 編程題【程序功能】 在給定范圍內(nèi)查找k使得用公式k2+k+17生成的整數(shù)滿足以下條件:該數(shù)的十進(jìn)制表示中低3位數(shù)字相同,去掉低3位后的整數(shù)是回文數(shù)。例如,當(dāng)k=461時用公式生成的整數(shù)是212999,該數(shù)滿足所給條件?!揪幊桃蟆? 編寫函數(shù)int findnum(int n1,int n2,long a2)實現(xiàn)以下功能:k依次取n1n2范圍內(nèi)的每個整數(shù),分別用每個k及公式k2+k+17生成整數(shù)y,若y滿足給定條件,則將k值及y值保存到a指向的數(shù)組中,函數(shù)返回a數(shù)組中k的個數(shù)。2 編寫函數(shù)main實現(xiàn)以下功能:聲明二維數(shù)組a和變量n1,n2,輸入兩個整數(shù)并保存到n1,n2中,用n1,n2及a數(shù)組作實參調(diào)用findnum函數(shù),按所給格式輸出a數(shù)組中的數(shù)據(jù)到屏幕及文件myf2.out中。最后將考生本人的準(zhǔn)考證號輸出到文件myf2.out中。【測試數(shù)據(jù)及運行結(jié)果】輸入:n1=1,n2=10000輸出:k number 461 212999 586 343999 3839 14741777【要求】1 源程序文件名為myf2.c,輸出結(jié)果文件名為myf2.out。2 數(shù)據(jù)文件的打開、使用、關(guān)閉均用C語言標(biāo)準(zhǔn)庫中緩沖文件系統(tǒng)的文件操作函數(shù)實現(xiàn)。3 源程序文件和運行結(jié)果文件均需保存到T:盤根目錄中供閱卷使用。4 不要復(fù)制拓展名為obj和exe的文件到T:盤中。2010年春C02一、 改錯題(16分)程序功能 先將一個正整數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)字字符串,再將千位分隔符插入到該字符串中,最后輸出該字符串。測試數(shù)據(jù)及運行結(jié)果輸入:1234567輸出:1234567 1,234,567含有錯誤的源程序#include#includevoid ltoa(chars,long num) long n=num,i=0; Printf(“%ldn”,num); While(n) i+; n/=10; Si=0; While(num) s-i=num%10+0; num/=10; void insert(char s) char j,k,t; t=j=strlen(s); while(j3) j=j-3; for(k=t;kj;k-) sk=sk+1; sj=,; t+; void main() static char s20; long num; scanf(“%d”,&num); ltoa(s,num); insert(s,num); puts(s); getch();要求1 將上述程序錄入到文件myf1.c中,根據(jù)題目要求及程序中語句之間的邏輯關(guān) 系對程序中的錯誤進(jìn)行修改。2. 改錯時,可以修改語句中的一部分內(nèi)容,調(diào)整語句次序,增加少量的變量說 明或編譯預(yù)處理命令,但不能增加其它語句,也不能刪去整條語句。3. 改正后的源程序(文件名myf1.c)保存在T:盤根目錄中拱閱卷使用,否則不予評分。二、 編程題(24分)程序功能 一個整數(shù)的“真因子”是指包括1但不包括整數(shù)自身的因子。 “真因子和數(shù)列”是指取一個正整數(shù)作為數(shù)列首項,首項之后的每一項都是前一項的真因子之和。真因子和數(shù)列有幾種可能的形式,其中的一種形式是以1結(jié)束。例如,取10作為數(shù)列首項,10的真因子和為8(1+2+5),8的真因子和為7(1+2+4),7的真因子和為1。因此,用10生成的真因子和數(shù)列(10,8,7,1)以1結(jié)束。 編寫程序分別以在給定范圍內(nèi)取值的多個正整數(shù)作為數(shù)列首項,生成多個與其對應(yīng)的“真因子和數(shù)列”,這些數(shù)列均以1結(jié)束。編程要求1. 編寫函數(shù)int sequ(int m1,int m2,int num10)實現(xiàn)以下功能:依次取m1,m2范圍內(nèi)每個正整數(shù)作為數(shù)列首項可生成m2-m1+1個真因子和數(shù)列,將其中不超過10項且以1結(jié)束的數(shù)列保存到num指向的二維數(shù)組中,函數(shù)返回num數(shù)組中存儲的數(shù)列個數(shù)。2. 編寫函數(shù)main實現(xiàn)以下功能:聲名二維數(shù)組x和變量m1、m2,輸入兩個正整數(shù)保存到m1和m2中(m1m2),用m1、m2和數(shù)組x作為實參調(diào)用sequ函數(shù),按所給格式將二維數(shù)組x中的數(shù)列輸出到屏幕及文件myf2.out中。最后將考生本人的準(zhǔn)考證號輸出到文件myf2.out中。測試數(shù)據(jù)與運行結(jié)果輸入:m1=21,m2=30輸出: 21 11 1 22 14 10 8 7 1 23 1 24 36 55 17 1 26 16 15 9 4 3 1 27 13 1 29 1要求1. 源程序文件名為myf2.c,輸出結(jié)果文件名為myf2.out。2. 數(shù)據(jù)文件的打開、使用、關(guān)閉均用C語言標(biāo)準(zhǔn)庫中緩沖文件系統(tǒng)的文件操作函數(shù)實現(xiàn)。3. 源程序文件和運行結(jié)果文件均需保存在T:盤根目錄中拱閱卷使用。4. 不要復(fù)制擴展名為obj和exe的文件到T:盤中。 2010年春C04一、 改錯題(16分)【程序功能】由一個取值在032767范圍內(nèi)的正整數(shù)x生成一個由十六進(jìn)制數(shù)字字符組成的字符串。生成規(guī)則如下:設(shè)x的質(zhì)因數(shù)分解式為qnr(n) *qnr(n-1)*.*q2r(2)*q1r(1),其中q1代表素數(shù)2,q2代表q1之后的下一個素數(shù)3,qn代表qn-1之后的下一個素數(shù)。取出x的質(zhì)因數(shù)分解式中所有素數(shù)的指數(shù),將這些指數(shù)分別轉(zhuǎn)換為十六進(jìn)制數(shù)字字符并合并為一個字符串。例如,49的質(zhì)因數(shù)分解式為72*50*30*20 ,因此由49生成的字符串是“2000”。16384的質(zhì)因數(shù)分解式為 214=2EH,因此由16384生成的字符串是“E”?!緶y試數(shù)據(jù)與運行結(jié)果】第一次運行輸入:49 輸出:2000第二次運行輸入:16384 輸出:E第三次運行輸入:16000 輸出:307【含有錯誤源程序】#includeInt nextPrime(int x ) int k ;dox+ ;for(k=2;kx:k+) If(x%k=0) break;while(k2;)if(x%i=0) j+; x/=I;else *s+=bitj; i=nextPrime(i)=0; *s=bitj; *s+1=0;for (;ps;p+,s-) ch=*p; *p=*s; *s=ch Void main() int a; char s; scanf (“%d”, &a); transform(a,s); puts(s);getch();【要求】1、 將上述程序錄入文件myf1.c中,根據(jù)題目要求及程序中語句之間的邏輯關(guān)系對程序中的錯誤進(jìn)行修改。2、 改錯時,可以修改語句中的一部分內(nèi)容,調(diào)整語句次序,增加少量的變量說明或編譯預(yù)處理命令,但不能增加其他語句,也不能刪去整條語句。3、 改正后的源程序(文件名 myf1.c)保存在T:盤根目錄中供閱卷使用,否則不予評分。二、 編程題(24分)【程序功能】 分別找出3位數(shù)和4位數(shù)中的所有Armstrong 數(shù)并輸出。Armstrong數(shù)是指一個n位數(shù)的各數(shù)字的n次方之和等于該數(shù)。例如:153=13+53+33;1634=14+64+34+44。因此,153是3位Armstrong數(shù),1634是4位Armstrong數(shù)?!揪幊桃蟆?、 編寫函數(shù) int arms(int ar)實現(xiàn)以下功能:將所有3位或4位Armstrong數(shù)存入數(shù)組ar中,函數(shù)返回這些Armstrong數(shù)的個數(shù)。2、 編寫函數(shù)main實現(xiàn)以下功能:聲明1個一位數(shù)組a,用a數(shù)組作實參調(diào)用arms函數(shù),將a數(shù)組中存儲的所有Armstrong數(shù)及其個數(shù)k輸出到屏幕及文件myf2.out中。最后將考生本人的準(zhǔn)考證號輸出到文件myf2.out中。【測試數(shù)據(jù)與運行結(jié)果】輸出: K=7153 370 371 407 1634 8208 9474【要求】1、 源程序文件名為myf2.c,輸出結(jié)果文件名為myf2.out。2、 數(shù)據(jù)文件的打開、使用、關(guān)閉均用C語言標(biāo)準(zhǔn)庫中緩沖文件操作函數(shù)實現(xiàn)。3、 源程序文件和運行結(jié)果文件均需保存在T:盤根目錄供閱卷使用。4、 不要復(fù)制擴展名為obj和exe的文件到T:盤中。10年春 c05語言一、改錯(16分)【程序功能】 一個數(shù)列中相鄰的n個數(shù)被稱為n階子序列。程序?qū)崿F(xiàn)在二維數(shù)組a的每一行中找出和值最大的3階子序列,并將這些子序列的起始列下標(biāo)及和值保存在二維數(shù)組b中。 函數(shù)sta在pa指向的一維數(shù)組m個元素中找出和值最大的n階子序列,將找到的子序列起始下標(biāo)保存到pos指向的變量中,函數(shù)返回最大和值?!緮?shù)據(jù)測試與運行結(jié)果】數(shù)組初始化數(shù)據(jù):1 2 3 4 5 1 2 3 2 16 5 4 3 2輸出: Position:a02 max:12 Position:a11 max:7 Position:a20 max:15【含有錯誤的源程序】#include“stido.h”int sta(int *pa,int m,intn,int *pos) int i=0,j=0,max=1,sum; int b; if(nm) b=(int*)malloc(sizeof(int)*(m-n+1); for(i=0;i=m-n;i+) for(sum=0,j=i+1;ji+n;j+) Sum=sun+paj; bi=sum; max=b0; for(i=0;imax) max=bi; *pos=I; free(b); return max; void main() inta3=1,2,3,4,5,1,2,3,2,1,6,5,4,3,2,b32=0,I,n,*p=&n; for(i=0;i3;i+) bi1=sta(ai,5,3,p); bi0=p; printf(“n position:a%d%d max:%4d”,I,bi0,bi1); getch(); 【要求】1. 將上述程序錄入到文件myf1.c中,根據(jù)題目要求及程序中語句之間的邏輯關(guān)系對程序中的改錯進(jìn)行修改。2. 改錯時,可以修改語句中的一部分內(nèi)容,調(diào)整語句次序,增加少量的語句說明或編譯預(yù)處理命令,但不能增加其它語句,也不能刪去整條語句。3. 改正后的源程序(文件名myf1.c)保存在T:盤根目錄中供閱卷使用,否則不予評分。二、編程題(24分)【程序功能】 判斷求余運算“%”對于一個數(shù)組是否封閉。 求余運算“%”對于一個數(shù)組的封閉性定義為:對于一維數(shù)組a中的任意兩個元素ai和aj(i不等于j),若當(dāng)aj不為0時ai%aj的值都存在于數(shù)組a中,則稱求余運算“%”對于a數(shù)組是封閉的?!揪幊桃蟆?.編寫函數(shù)int judge(int a,int n)實現(xiàn)以下功能:判斷求余運算%對于a指向的包含n個元素的數(shù)組是否封閉,若封閉則函數(shù)返回1,否則函數(shù)返回0。2.編寫函數(shù)main實現(xiàn)以下功能:聲明一維數(shù)組a和b并用測試數(shù)據(jù)初始化,分別用a數(shù)組和b數(shù)組作實參兩次調(diào)用judge函數(shù),判斷求余運算“%”對于a數(shù)組及b數(shù)組是否封閉,若封閉則輸出“yes”,否則輸出“no”。將a數(shù)組和b數(shù)組中數(shù)據(jù)及判斷結(jié)果輸出到屏幕及文件myf2.out中?!緶y試數(shù)據(jù)與運行結(jié)果】 a數(shù)組初始化數(shù)據(jù):1,3,22,4,15,2,7,5,0 b數(shù)組數(shù)據(jù)初始化:1,3,8,4,6,7,5,0輸出:1 3 22 4 15 2 7 5 0 yes1 3 8 4 6 7 5 0 no【要求】1. 源程序文件名為myf2.c,輸出結(jié)果文件名為myf2.out。2. 數(shù)據(jù)文件的打開、使用、關(guān)閉均用C語言標(biāo)準(zhǔn)庫中緩沖文件系統(tǒng)的文件操作函數(shù)實現(xiàn)。3. 源程序文件和運行結(jié)果文件均需保存在T:盤根目錄下供閱卷使用。4. 不要復(fù)制擴展名為obj和exe的文件到T:盤中。2010春 C語言 C06一 改錯題【程序功能】 函數(shù)findword的功能是:在s指向的由若干個英文句子組成的字符串中搜索包含t指向子串的單詞,將最驕傲道的所有包含t子串的單詞復(fù)制到ch指向的二維數(shù)組中,函數(shù)返回找到的單詞個數(shù)。 稱s字符串為“被搜索字符串”,t字串為“搜索字符串”?!緶y試數(shù)據(jù)與運行結(jié)果】 被搜索字符串:No living man all things can.Graspall,loseall. 搜索字符串:all 輸出: Ch0 all Ch1 Graspall Ch 2 loseall. K=3 【含有錯誤的源程序】 #include #include int findstr(char s,char t) int I,j; for(i=0;si!=0;i+) j=0; while(tj!=0&tj=si) j+;i+; if(tj!=0) return 1; else i=i-j;return 0;int findword(char s,char t,char ch20) int i=0,j,k=0; char str20; while(si) while(!isalpha(si) If(si!=0) i+; else break; for(j=0;isalpha(si);j+,i+) strj=si;strj=0;if(findstr(str,t) strcpy(str,chk+); return k; void main() char s80=”No living man all things can.Graspall,loseall.”;char t20=”all”,ch4020; int I,l; k=findword(s,t); for(i=0;ik;i+) pri

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論