C語言程序設(shè)計上機試題詳解版_第1頁
C語言程序設(shè)計上機試題詳解版_第2頁
C語言程序設(shè)計上機試題詳解版_第3頁
C語言程序設(shè)計上機試題詳解版_第4頁
C語言程序設(shè)計上機試題詳解版_第5頁
已閱讀5頁,還剩91頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第一套:1.1 填空 給定程序中,函數(shù)fun的功能是:將形參n所指變量中,各位上為偶函數(shù)的數(shù)去除,剩余的書按原來從高位到低位的順序組成一個新的數(shù),并通過形參指針n傳回所指變量。void fun(unsigned long *n) unsigned long x=0, i; int t; i=1; while(*n)/*found*/ t=*n % 10 ;/*found*/ if(t%2!= 0) x=x+t*i; i=i*10; *n =*n /10; /*found*/ *n=x; 1.2 改錯 給定程序MODI1.C 中函數(shù)fun的功能是:計算n!。double fun ( int n

2、) double result = 1.0 ;/*found*/ if (n = 0) return 1.0 ; while( n 1 & n 170 )/*found*/ result *= n-; return result ;1.3 程序 請編寫一個函數(shù)fun,它的功能是:將一個數(shù)字字符串轉(zhuǎn)換為一個整數(shù)(不得調(diào)用C語言提供的將字符串轉(zhuǎn)換為整數(shù)的函數(shù))。long fun ( char *p) /* 以下代碼僅供參考 */ int i, len, t; /* len為串長,t為正負標識 */ long x=0; len=strlen(p); if(p0=-) t=-1; len-; p+;

3、else t=1; /* 以下完成數(shù)字字符串轉(zhuǎn)換為一個數(shù)字 */ while(*p) x = x*10-48+(*p+); return x*t; 第二套:2.1填空 給定程序中,函數(shù)fun的功能是將形參給定的字符串、整數(shù)、浮點數(shù)些到文本文件中,再用字符方式從此文本文件中逐個讀入并顯示在終端屏幕上。void fun(char *s, int a, double f)/*found*/ FILE * fp; char ch; fp = fopen(file1.txt, w); fprintf(fp, %s %d %fn, s, a, f); fclose(fp); fp = fopen(file

4、1.txt, r); printf(nThe result :nn); ch = fgetc(fp);/*found*/ while (!feof(fp) /*found*/ putchar(ch); ch = fgetc(fp); putchar(n); fclose(fp); 2.2 改錯 給定程序MODI1.C中函數(shù)fun的功能是:依次取出字符串中所有數(shù)字字符,形成新的字符串,并取代原字符串。請改正函數(shù)fun中指定部位的錯誤,使它能得出正確的結(jié)果。#include void fun(char *s) int i,j; for(i=0,j=0; si!=0; i+) if(si=0 & s

5、i=9)/*found*/ sj+=si;/*found*/ sj=0;2.3程序 請編寫函數(shù)fun,函數(shù)的功能是:將M行N列的二維數(shù)組中的字符數(shù)據(jù),按列的順序依次放到一個字符串中。void fun(char sN, char *b) int i,j,n=0; for(i=0; i N;i+) /* 請?zhí)顚懴鄳?yīng)語句完成其功能 */ for(j = 0 ; j next=NULL; for(i=1; idata=rand()%m; s-next=p-next; p-next=s; p=p-next; /*found*/ return h;3.3程序 請編寫函數(shù)fun,函數(shù)的功能是:統(tǒng)計一行字符串

6、中單詞的個數(shù),作為函數(shù)值返回。一行字符串在主函數(shù)中輸入,規(guī)定所有單詞由小寫字母組成,單詞之間由若干個空格隔開,一行的開始沒有空格。(有問題)int fun( char *s) int k = 1 ; while(*s) if (*s = ) k+ ; s+ ; return k ; 第四套:4.1填空 程序通過定義學生結(jié)構(gòu)體變量,存儲了學生的學號、姓名和3門課的成績。所有學生數(shù)據(jù)均以二進制方式輸出到文件中。函數(shù)fun的功能是從形參filename所指的文件中讀入學生數(shù)據(jù),并按照學號從小到大排列后,再用二進制方式把排序后的學生數(shù)據(jù)輸出到filename所指的文件中,覆蓋原來的文件內(nèi)容。#defi

7、ne N 5typedef struct student long sno; char name10; float score3; STU;void fun(char *filename) FILE *fp; int i, j; STU sN, t;/*found*/ fp = fopen(filename, rb); fread(s, sizeof(STU), N, fp); fclose(fp); for (i=0; iN-1; i+) for (j=i+1; jsj.sno) t = si; si = sj; sj = t; fp = fopen(filename, wb);/*foun

8、d*/ fwrite(s, sizeof(STU), N, fp); fclose(fp);4.2改錯 給定程序MODI1.C中函數(shù)fun的功能是:在字符串的最前端假如n個*號,形成新串,并且覆蓋原串。注意:字符串的長度最長允許為79。void fun ( char s, int n ) char a80 , *p; int i;/*found*/ p=s; for(i=0; in; i+) ai=*; do ai=*p; i+;/*found*/ while(*p+); ai=0; strcpy(s,a);4.3程序 請編寫函數(shù)fun,函數(shù)的功能是:統(tǒng)計各年齡段的人數(shù)。N個年齡通過調(diào)用隨機函

9、數(shù)獲得,并放在主函數(shù)的age數(shù)組中;要求函數(shù)把0至9歲年齡段的人數(shù)放在d0中,把10至19歲年齡段的認輸放在d1中,把20至29歲年齡段的人數(shù)放在d2中,期于依此類推,把100歲(含100)以上年齡的人數(shù)都放在d10中。結(jié)果在主函數(shù)中輸出。void fun( int *a, int *b) int i, j ; for(i = 0 ; i M ; i+) bi = 0 ; for(i = 0 ; i 10) bM - 1+ ; else bj+ ; 第五套:5.1填空 給定程序中,函數(shù)fun的功能是將參數(shù)給定的字符串、整數(shù)、浮點數(shù)寫到文本文件中,再用字符串方式從此文本文件中逐個讀入,并調(diào)用庫函

10、數(shù)atoi和atof將字符串轉(zhuǎn)換成響應(yīng)的整數(shù)、浮點數(shù),然后將其顯示在屏幕上。void fun(char *s, int a, double f)/*found*/ FILE * fp; char str100, str1100, str2100; int a1; double f1; fp = fopen(file1.txt, w); fprintf(fp, %s %d %fn, s, a, f);/*found*/ fclose(fp) ; fp = fopen(file1.txt, r);/*found*/ fscanf(fp,%s%s%s, str, str1, str2); fclos

11、e(fp); a1 = atoi(str1); f1 = atof(str2); printf(nThe result :nn%s %d %fn, str, a1, f1);5.2改錯 給定程序MODI1.C中函數(shù)fun的功能是:對N名學生的學習成績按從高到低的順序找出前m(10)名學生出來,并將這些學生數(shù)據(jù)存放在一個動態(tài)分配的連續(xù)存儲區(qū)中,此存儲區(qū)的首笛子作為函數(shù)值返回。typedef struct ss char num10; int s; STU;STU *fun(STU a, int m) STU bN, *t; int i,j,k;/*found*/ t=(STU *)calloc(

12、sizeof(STU),m); for(i=0; iN; i+) bi=ai; for(k=0; km; k+) for(i=j=0; i bj.s) j=i;/*found*/ tk=bj; bj.s=0; return t;5.3程序 請編寫函數(shù)fun,函數(shù)的功能是:刪去一維數(shù)組中所有相同的數(shù),使之只剩一個。數(shù)組中的數(shù)已按由小到大的順序排列,函數(shù)返回刪除后數(shù)組中數(shù)據(jù)的個數(shù)。例如,一維數(shù)組中的數(shù)據(jù)是:2 2 2 3 4 4 5 6 6 6 6 7 7 8 9 9 10 10 10。刪除后,數(shù)組中的內(nèi)容應(yīng)該是:2 3 4 5 6 7 8 9 10。int fun(int a, int n) i

13、nt i, j = 1, k = a0 ; for(i = 1 ; i sl) return t; else return s;6.3程序 請編寫函數(shù)fun函數(shù)的功能是:移動字符串中的內(nèi)容,移動的規(guī)則如下:把第1到第m個字符,平移到字符串的最后,把第m+1到最后的字符移動到字符串的前部。例如,字符串中原由的內(nèi)容為:ABCDEFGHIJK,m的值為3,則移動后,字符串中的內(nèi)容應(yīng)該是DEFGHIJKABC。void fun1(char *w) /* 本函數(shù)的功能是將字符串中字符循環(huán)左移一個位置 */ int i; char t; t=w0; for(i=0;istrlen(w)-1;i+) wi=

14、wi+1; wstrlen(w)-1=t; void fun(char *w, int m) /* 可調(diào)用fun1函數(shù)左移字符 */ int i; for(i = 0 ; i m ; i+) fun1(w); 第七套:7.1填空 程序通過定義并賦初值的方式,利用結(jié)構(gòu)體變量存儲了一名學生的信息。函數(shù)fun的功能是輸出這位學生的信息。typedef struct int num; char name9; char sex; struct int year,month,day ; birthday; float score3;STU;/*found*/void show(STU tt) int i;

15、 printf(n%d %s %c %d-%d-%d, tt.num, , tt.sex, tt.birthday.year, tt.birthday.month, tt.birthday.day); for(i=0; i3; i+)/*found*/ printf(%5.1f, tt.scorei); printf(n);7.2改錯 給定程序MODI1.C中函數(shù)fun的功能是:求出數(shù)組中最大數(shù)和次最大數(shù),并把最大數(shù)和a0中的數(shù)對調(diào)、次最大數(shù)和a1中的數(shù)對調(diào)。int fun ( int * a, int n ) int i, m, t, k ; for(i=0;i2;i+) /*

16、found*/ m=i; for(k=i+1;kam) m=k; t=ai;ai=am;am=t; 7.3程序 請編寫一個函數(shù)unsigned fun (unsigned w),w是一個大于10的無符號整數(shù),若w是n(2)位的整數(shù),函數(shù)求出的w的低n-1位的數(shù)作為函數(shù)值返回。例如:W值為5923,則函數(shù)返回923;W值位923則函數(shù)返回23。unsigned fun ( unsigned w ) if(w10000) w %= 10000 ; else if(w1000) w %= 1000 ; else if(w100) w %= 100 ; else if(w10) w %=10 ; re

17、turn w ;第八套:8.1填空 給定程序通過定義并賦初值的方式,利用結(jié)構(gòu)體變量存儲了一名學生的學號、姓名和3門課的成績。函數(shù)fun的功能是將該學生的各科成績都乘以一個系數(shù)a。void show(STU tt) int i; printf(%d %s : ,tt.num,); for(i=0; i3; i+) printf(%5.1f,tt.scorei); printf(n);/*found*/void modify(STU *ss,float a) int i; for(i=0; iscorei *=a; 8.2改錯 給定程序MODI1.C中的函數(shù)fun的功能是:求k!(k

18、 0) return (k*fun(k-1);/*found*/ else if ( k=0 ) return 1L;8.3程序 程序定義了NN的二維數(shù)組,并在主函數(shù)中自動賦值。請編寫函數(shù)fun(int a,int n),函數(shù)的功能是:使數(shù)組左下三角元素中的值乘以n。例如:若n的值為3,a數(shù)組中的值為 則返回主程序后a數(shù)組中的值應(yīng)為 。int fun ( int aN, int n ) int i, j; for(i = 0 ; i N ; i+) for(j = 0 ; j next ;/*found*/ while (q) if (p-data q-data) t = p-data; p-

19、data = q-data; q-data = t; q = q-next; /*found*/ p = p-next ; 9.2改錯 給定程序MODI1.C中函數(shù)fun的功能是:將s所指字符串中的字母轉(zhuǎn)換為按字母序列的后續(xù)字母(但Z轉(zhuǎn)換為A,z轉(zhuǎn)換為a),其他字符不變。void fun (char *s)/*found*/ while(*s) if(*s=A & *s=a & *s=z) if(*s=Z) *s=A; else if(*s=z) *s=a; else *s += 1; /*found*/ s+; 9.3程序 請編寫函數(shù)fun,函數(shù)的功能是:移動一維數(shù)組中的內(nèi)容;若豬組中有N個

20、整數(shù),要求把下標從0到P(含P,P小于等于N-1)的數(shù)組元素平移到數(shù)組的最后。例如,一維數(shù)組中的原始內(nèi)容為:1,2,3,4,5,6,7,8,9,10;P的值為3。移動后一維數(shù)組中的內(nèi)容應(yīng)為:5,6,7,8,9,10,1,2,3,4。void fun(int *w, int p, int n) int i, j = 0, bN ; for(i = p + 1 ; i n ; i+) bj+ = wi ; for(i = 0 ; i = p ; i+) bj+ = wi ; for(i = 0 ; i n ; i+) wi= bi ;第十套:10.1填空 給定程序中,函數(shù)fun的功能是:判定形參a

21、所指的NN(規(guī)定N為奇數(shù))的矩陣是否是“幻方”,若是,函數(shù)返回值為1;不四,函數(shù)返回值為0。“幻方”的判定條件是:矩陣每行、每列、主對角線及反對角線上元素之和都相等。例如,以下33的矩陣就是一個“幻方”: 。int fun(int (*a)N) int i,j,m1,m2,row,colum; m1=m2=0; for(i=0; iN; i+) j=N-i-1; m1+=aii; m2+=aij; if(m1!=m2) return 0; for(i=0; iN; i+) /*found*/ row=colum= 0; for(j=0; jN; j+) row+=aij; colum+=aji

22、; /*found*/ if( (row!=colum) | (row!=m1) ) return 0; /*found*/ return 1;10.2改錯 給定程序MODI1.C中fun函數(shù)的功能是:根據(jù)整形形參m,計算如下公式的值。 例如,若主函數(shù)中輸入5,則應(yīng)輸出-0.283333。double fun( int m ) double t = 1.0; int i; for( i = 2; i next;/*found*/ if (p=0) return; q = p-next; p-next = NULL; while (q) r = q-next; q-next = p;/*foun

23、d*/ p = q; q = r; h-next = p; 11.2改錯給定程序MODI1.C中函數(shù)fun的功能是:計算s所指字符串中含有t所指字符串的數(shù)目,并作為函數(shù)值返回。int fun(char *s, char *t) int n; char *p , *r; n=0; while ( *s ) p=s;/*found*/ r=t; while(*r) if(*r=*p) r+; p+; else break;/*found*/ if(*r= 0) n+; s+; return n;11.3程序fun函數(shù)功能:將放在字符串數(shù)組中的M個字符串(每串的長度不超過N),將順序合并組成一個新的

24、字符串。函數(shù)fun中給出的語句僅供參考。例如,字符串數(shù)組中的M個字符串為AAAA BBBBBBB CCC則合并后的字符串的內(nèi)容應(yīng)是:AAAABBBBBBBCCC。提示:strcat(a,b)功能是將字符串b復制到字符串a(chǎn)的串尾上,成為一個新串。 void fun(char aMN, char *b) /* 以下代碼僅供參考 */ int i; *b=0; for(i = 0 ; i next; p-next = NULL; while (q) /*found*/ r = q-next; q-next = p; p = q;/*found*/ q = r ; return p;12.2改錯 給定

25、程序MODI1.C中函數(shù)fun的功能是:計算s所指字符串中位于奇數(shù)位置的字符或ASCII碼為偶數(shù)的字符放入t所指數(shù)組中(規(guī)定第一個字符放在第0位中)。例如:字符串中的數(shù)據(jù)為:AABBCCDDDEEFF,則輸出應(yīng)當是:ABBCDDEFF。void fun(char *s, char t) int i, j=0; for(i=0; istrlen(s); i+)/*found*/ if(i%2 | si%2=0) tj+=si;/*found*/ tj=0; 12.3程序 程序定義了MN的二維數(shù)組,按列的順序依次放到一維數(shù)組中。例如:二維數(shù)組中的數(shù)據(jù)為 則一維數(shù)組中為:33 44 55 33 44

26、 55 33 44 55 33 44 55。同2.3void fun(int (*s)10, int *b, int *n, int mm, int nn) /* 以下代碼僅供參考 */ int i,j,np=0; /* np用作b數(shù)組下標 */ for(i = 0 ; i nn ; i+) for(j = 0 ; j next ; while (p) /*found*/ q = p-next ; while (q) /*found*/ if (p-data = q-data) t = p-data; p-data = q-data; q-data = t; q = q-next; p = p

27、-next; 13.2 改錯 給定程序MODI1.C是建立一個帶頭節(jié)點的單向鏈表,并用隨機函數(shù)為個節(jié)點數(shù)據(jù)域賦值。函數(shù)fun的作用是求出單向鏈表節(jié)點(不包括頭節(jié)點)數(shù)據(jù)域中的最大值,并且作為函數(shù)值返回。typedef struct aa int data; struct aa *next; NODE;fun ( NODE *h ) int max=-1; NODE *p;/*found*/ p=h-next; while(p) if(p-datamax ) max=p-data;/*found*/ p=p-next; return max; 13.3 程序程序定義了MN的二維數(shù)組中數(shù)據(jù),按行的順序依次放到一維數(shù)組中。一維數(shù)組中數(shù)據(jù)的個數(shù)放在形參n所指的存儲單元中。例如:二維數(shù)組中的數(shù)據(jù)為 則一維數(shù)組中為:33 33 33 33 44 44 44 44 55 55 55 55。void fun(int (*s)10, int *b, int *n, int mm, int nn) int i, j, k ; for(i = 0 ; i mm ; i+) for(j = 0 ; j next; while(p) if(p-data%2=0) sum +=p-data;/*found*/ p=p-next; return su

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論