C語(yǔ)言程序考試-上機(jī)考試試題填空試題 1-51_第1頁(yè)
C語(yǔ)言程序考試-上機(jī)考試試題填空試題 1-51_第2頁(yè)
C語(yǔ)言程序考試-上機(jī)考試試題填空試題 1-51_第3頁(yè)
C語(yǔ)言程序考試-上機(jī)考試試題填空試題 1-51_第4頁(yè)
C語(yǔ)言程序考試-上機(jī)考試試題填空試題 1-51_第5頁(yè)
已閱讀5頁(yè),還剩90頁(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)介

1、C語(yǔ)言程序考試-上機(jī)考試試題填空試題 1-51【附答案】第1套 上機(jī)考試試題1. 填空題1.下列給定程序中,函數(shù)fun()的作用是:將字符串tt中的大寫字母都改為對(duì)應(yīng)的小寫字母,其他字符不變。例如,若輸入“Ab,cD”,則輸出“ab,cd”。試題程序:#include #include #include char 1 fun(char tt) int i; for(i=0;tti;i+) if(tti=A)&(tti= 2 ) tti+=32; return(tt);main() char tt81; printf(nPlease enter a string: ); gets(tt); pr

2、intf(nThe result string is: n%s,fun( 3 );2.函數(shù)fun()的功能是:將ss所指字符串中所有下標(biāo)為奇數(shù)位置的字母轉(zhuǎn)換為大寫(若該位置上不是字母,則不轉(zhuǎn)換)。例如,若輸入abc4Efg,則應(yīng)輸出aBc4EFg。試題程序:#include#include#includevoid fun(char *ss) int i; for(i=0;ssi!=0;i+) if(i%2=1&ssi=a&ssi=z) 1 main() 2 *wf; char tt81,s10=abc4Efg 3 printf(nPlease enter an string within 80

3、 characters:n); gets(tt); printf(nnAfter changing, the stringn%s,tt); fun(tt); printf(nbecomesn%sn,tt); wf=fopen(out.dat,w); fun(s); fprintf(wf,%s,s); fclose(wf);第2套 上機(jī)考試試題1. 填空題1.下列給定程序中,函數(shù)fun()的功能是:按順序給s所指數(shù)組中的元素賦予從2開(kāi)始的偶數(shù),然后再按順序?qū)γ?個(gè)元素求一個(gè)平均值,并將這些值依次存放在w所指的數(shù)組中。若s所指數(shù)組中元素的個(gè)數(shù)不是5的倍數(shù),多余部分忽略不計(jì)。例如,s所指數(shù)組有14個(gè)

4、元素,則只對(duì)前10個(gè)元素進(jìn)行處理,不對(duì)最后的4個(gè)元素求平均值。試題程序:#include #define SIZE 20fun (double *s,double *w) int k,i; double sum; for(k=2,i=0;iSIZE;i+) si=k;k+=2; sum=0.0; for(k=0,i=0;iSIZE;i+) sum+=si; if(i+1) 1 5=0) wk=sum/5; sum=0;k+; 2 k;main() double aSIZE,bSIZE/5; int i, k; k=fun(a,b); printf(The original data:n); f

5、or(i=0;iSIZE;i+) if(i%5=0) printf(n); printf(%4.0f,ai); printf(nnThe result:n); for(i=0;ik;i+) printf(%6.2f, 3 ); printf(nn);2.函數(shù)fun()的功能是:求出一個(gè)2M整型二維數(shù)組中最大元素的值,并將此值返回調(diào)用函數(shù)。試題程序:#define M 4#include fun (int 1 ) int i,j,max= 2 ; for(i=0;i2;i+) for(j=0;jM;j+) if(max 3 aij) max=aij; return max;main() FILE

6、 *wf; int arr2M=5,8,3,45,76,-4,12,82; printf(max=%dn,fun(arr); wf=fopen(out.dat,w); fprintf (wf,%d,fun(arr); fclose(wf);第3套 上機(jī)考試試題1. 填空題1.下列給定程序中,函數(shù)fun()的功能是:將s所指字符串中的字母轉(zhuǎn)換為按字母序列的后續(xù)字母(但Z轉(zhuǎn)化為A,z轉(zhuǎn)化為a),其他字符不變。試題程序:#include #include #include void fun(char *s)while( 1 ) if(*s=A&*s=a&*s=z) if(*s=Z) *s=A; el

7、se if(*s=z) *s=a; else *s+= 2 ; 3 ; main() char s80; printf(n Enter a string with length80:nn); gets (s); printf(n The string:nn); puts(s); fun(s); printf(nn The Cords :nn); puts(s);2.函數(shù)fun()的功能是:將s所指字符串中除了下標(biāo)為偶數(shù)、同時(shí)ASCII值也為偶數(shù)的字符外,其余的全部刪除,串中剩余字符所形成的一個(gè)新串放在t所指的數(shù)組中。例如,若s所指字符串中的內(nèi)容為ABCDEFG123456,其中字符A 的ASC

8、II碼值為奇數(shù),因此應(yīng)當(dāng)刪除;其中字符B的ASCII碼值為偶數(shù),但在數(shù)組中的下標(biāo)為奇數(shù),因此也應(yīng)當(dāng)刪除;而字符2的ASCII碼值為偶數(shù),所在數(shù)組中的下標(biāo)也為偶數(shù),因此不應(yīng)當(dāng)刪除,其他依此類推。最后t所指的數(shù)組中的內(nèi)容應(yīng)是246。試題程序:#include #include #includevoid fun(char*s, char t) int i,j=0; for(i=0;si!= 1 ;i+) if(i%2=0 2 si%2=0) tj+=si; 3 main() FILE *wf; char s100 ,t100; printf(nPlease enter string S: ); sc

9、anf(%s,s); fun(s,t); printf(nThe result is: %sn,t); wf=fopen(out.dat,w); fun(ABCDEFG123456,t); fprintf(wf,%s,t); fclose(wf);第4套 上機(jī)考試試題1. 填空題1.下列給定程序中函數(shù)fun()的功能是:將長(zhǎng)整型數(shù)中每一位上為奇數(shù)的數(shù)依次取出,構(gòu)成一個(gè)新數(shù)放在t中。高位仍在高位,低位仍在低位。例如當(dāng)s中的數(shù)為87653142時(shí),t中的數(shù)為7531。試題程序:#include #include void fun(long s,long *t)int d; long s1=1; *

10、t=0; while(s0) d=s 1 10; if(d%2!=0) *t=d*s1+*t; s1*= 2 ; s/= 3 ; main()long s, t; clrscr(); printf(nPlease enter s: ); scanf(%ld,&s); fun(s,&t); printf(The result is :%ldn,t);2.函數(shù)fun()的功能是:將s所指字符串中除了下標(biāo)為偶數(shù)、同時(shí)ASC碼值為奇數(shù)的字符之外,其余的所有字符都刪除,串中剩余字符所形成的一個(gè)新串放在t所指的數(shù)組中。例如,若s所指字符串中的內(nèi)容為ABCDEFG12345,其中字符B的ASC碼值為偶數(shù),所

11、在元素的下標(biāo)為奇數(shù),因此必須刪除;而字符A的ASC碼值為奇數(shù),所在數(shù)組中的下標(biāo)為偶數(shù),因此不應(yīng)當(dāng)刪除,其他依次類推。最后t所指的數(shù)組中的內(nèi)容應(yīng)是ACEG。試題程序:#include #include #include void fun(char *s, char t) int i,j=0; for(i=0;si!= 1 ;i+) if(i%2=0 & si%2 2 0) tj+=si; 3 main() FILE *wf; char s100,t100; printf(nPlease enter string S: ); scanf(%s,s); fun(s,t); printf(nThe r

12、esult is: %sn,t); wf=fopen(out.dat,w); fun(ABCDEFG12345,t); fprintf(wf,%s,t); fclose(wf);第5套 上機(jī)考試試題1. 填空題1.下列給定的程序中,fun()函數(shù)的功能是:將p所指字符串中每個(gè)單詞的最后一個(gè)字母改成大寫(這里的“單詞”是指有空格隔開(kāi)的字符串)。例如,若輸入:I am a student to take the examination則應(yīng)輸出:I aM A studenT tO takE thE examinatioN試題程序:#include #include #include #include

13、 void fun(char *p) int k=0; for ( ;*p;p+) if (k) if (*p= ) 1 ; 2 )=toupper(*(p-1); else k=1;main()char chrstr64; int d; printf(nPlease enter an English sentence within 63 letters: ); gets(chrstr); d=strlen(chrstr); chrstrd= ; chrstrd+1=0; printf(nBofore changing:n %s,chrstr); 3 ; printf(nAfter chang

14、ing:n %s,chrstr);2.學(xué)生的記錄由學(xué)號(hào)和成績(jī)組成,N名學(xué)生的數(shù)據(jù)已在主函數(shù)中放入結(jié)構(gòu)體數(shù)組s中,函數(shù)fun()的功能是:把分?jǐn)?shù)最高的學(xué)生數(shù)據(jù)放在h所指的數(shù)組中。注意:分?jǐn)?shù)高的學(xué)生可能不只一個(gè),函數(shù)返回分?jǐn)?shù)最高學(xué)生的人數(shù)。試題程序:#include #define 1 16typedef 2 char num10; int s ;STRUC;int fun (STRUC *a, STRUC *b) int i,j=0,max=a0.s; for(i=0;iN;i+) if(maxai.s) max=ai.s; for(i=0;iN;i+) if(max=ai.s) bj 3 =a

15、i; return j;main () STRUC sN=GA005,85,GA003,76,GA002,69,GA004,85, GA001,91,GA007,72,GA008,64,GA006,87, GA015,85,GA013,91,GA012,64,GA014,91, GA011,66,GA017,64,GA018,64,GA016,72; STRUC hN; int i, n; FILE *out; n=fun(s,h); printf(The %d highest score :n,n); for (i=0; in; i+) printf(%s %4dn ,hi.num,hi.s

16、); printf(n); out=fopen(out45.dat, w); fprintf(out, %dn,n); for(i=0; in; i+) fprintf(out, %4dn ,hi.s); fclose(out);第6套 上機(jī)考試試題1. 填空題1.下列給定程序中,函數(shù)fun()的功能是:計(jì)算s所指字符串中含有t所指字符串的數(shù)目,并作為函數(shù)值返回。試題程序:#include #include #include #define N 80int fun(char *s,char *t) int n; char *p, *r; n=0; while(*s) p=s; r=t; whi

17、le(*r) if(*r=*p) r+; 1 ; else break; if(*r= 2 ) n+; 3 ; return n;main()char aN,bN; int m; printf(nPlease enter string a: );gets(a); printf(nPlease enter substring b: ); gets(b); m=fun(a,b); printf(nThe result is :m=%dn,m); 2.函數(shù)fun()的功能是用來(lái)刪除字符串中的所有空格。例如:輸入asd af aa z67,則輸出為asdafaaz67。試題程序:#include #i

18、nclude #include int fun (char *str) int i,j=0; for(i=0;stri!= 1 ;i+) if(stri!= ) strj+= 2 ; 3 =0;main() FILE *wf; char str81,*s=asd af aa z67; printf(Input a string : ); gets(str); puts(str); fun(str); printf(* str: %sn,str); wf=fopen(out.dat,w); fun(s); fprintf(wf,%s,s); fclose(wf);第7套 上機(jī)考試試題1. 填空題

19、1.下列給定程序中,函數(shù)fun()的功能是:通過(guò)某種方式實(shí)現(xiàn)兩個(gè)變量值的交換,規(guī)定不允許增加語(yǔ)句和表達(dá)式。例如變量a中的值原為8,b中的值原為3,程序運(yùn)行后a中的值為3,b中的值為8。試題程序:#include #include int fun(int *x,int y) 1 t; t=*x;*x=y; return(t) 2 main()int a=3,b=8; printf(%d %dn ,a,b); b=fun( 3 ,b); printf(%d %dn ,a,b);2.某學(xué)生的記錄由學(xué)號(hào)、8門課成績(jī)和平均分組成,學(xué)號(hào)和8門課的成績(jī)已在主函數(shù)中給出。函數(shù)fun()的功能是:求出該學(xué)生的平

20、均分放在記錄的ave成員中。請(qǐng)自己定義正確的形參。例如,若學(xué)生的成績(jī)是85.5,76,69.5,85,91,72,64.5,87.5,則他的平均分應(yīng)當(dāng)是78.875。試題程序:#include #define N 8typedef struct char num10; double sN; double ave; STRUC;void fun( ) int i; p-ave= 1 ; for(i=0;iave=p-ave+p-si; p-ave= 2 ;main() FILE *wf; STRUC s= GA005 ,85.5,76,69.5,85,91,72,64.5,87.5; int i

21、; fun( 3 ); printf(The %ss student data:n, s.num); for(i=0;iN;i+) printf(%4.1fn,s.si); printf(nave=%7.3fn, s.ave); wf=fopen(out.dat,w); fprintf(wf,ave=%7.3f, s.ave); fclose(wf);第8套 上機(jī)考試試題1. 填空題1.下列給定程序中fun()函數(shù)的功能是:將n個(gè)無(wú)序整數(shù)從小到大排序。試題程序:#include #include #include fun(int n,int *a) int i,j,p,t; for (j=0;

22、j 1 ;j+) p=j; for (i= 2 ;iai) p=i; if(p!=j) t=aj;aj=ap;ap=t; putarr( int n,int *z)int i; for (i=1;i=n;i+, 3 ) printf(%4d,*z); if (!(i%10) ) printf(n); printf(n);main()int aa20=9,3,0,4,1,2,5,6,8,10,7, n=11; printf(nnBefore sorting %d numbers:n,n); putarr(n,aa); fun(n,aa); printf(nAfter sorting %d num

23、bers:n,n);putarr(n,aa);2.函數(shù)fun()的功能是:求出ss所指字符串中指定字符的個(gè)數(shù),并返回此值。例如,若輸入字符串123412132,輸入字符1,則輸出3。試題程序:#include #include 1 M 81int fun(char *ss, char c) int i=0; for(;*ss 2 0;ss+) if(*ss=c) i+; return 3 ;main() FILE *wf; char aM, ch; printf(nPlease enter a string: ); gets(a); printf(nPlease enter a char: )

24、; ch=getchar(); printf(nThe number of the char is: %dn, fun(a,ch); wf=fopen(out.dat,w); fprintf(wf,%d,fun(123412132,1); fclose(wf);第9套 上機(jī)考試試題1. 填空題1.N個(gè)有序整數(shù)數(shù)列已放在一維數(shù)組中,給定下列程序中,函數(shù)fun() 的功能是:利用折半查找算法查找整數(shù)m在數(shù)組中的位置。若找到,則返回其下標(biāo)值;反之,則返回-1。折半查找的基本算法是:每次查找前先確定數(shù)組中待查的范圍:low和high(lowhigh,查找結(jié)束。試題程序:#include #define

25、 N 10int fun(int a,int m) int low=0,high=N-1,mid; while(low=high) mid= 1 ; if(mamid) low=mid+1; else return(mid); 3 (-1);main() int i,aN=-3,4,7,9,13,24,67,89,100,180,k,m; printf(a數(shù)組中的數(shù)據(jù)如下:); for(i=0;i=0) printf(m=%d,index=%dn,m,k); else printf(Not be found!n);2.函數(shù)fun()的功能是:移動(dòng)一維數(shù)組中的內(nèi)容,若數(shù)組中有n個(gè)整數(shù),要求把下標(biāo)

26、從0到p(pn-1)的數(shù)組元素平移到數(shù)組的最后。例如,一維數(shù)組中的原始內(nèi)容為1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,p的值為3。移動(dòng)后,一維數(shù)組中的內(nèi)容應(yīng)為5,6,7,8,9,10,11,12,13,14,15,1,2,3,4。試題程序:#include #define N 80void fun(int *w, int p, int n) int i,j,t; for(i=0;i= 1 ;i+) t= 2 ; for(j=1;jn;j+) wj-1=wj; wj-1=t; main() FILE *wf; int aN=1,2,3,4,5,6,7,8,9,10,

27、11,12,13,14,15,bN=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15; int i, p, n=15; printf(The original data:n); for(i=0;in;i+) printf(%3d,ai); printf(nnEnter p: ); scanf(%d, 3 ); fun(a,p,n); printf(nThe data after moving:n); for(i=0;in;i+) printf(%3d,ai); printf(nn); wf=fopen(out.dat,w); fun(b,3,n); for(i=0;in;

28、i+) fprintf(wf,%3d,bi); fclose(wf);第10套 上機(jī)考試試題1. 填空題1.下列給定程序中,函數(shù)fun()的功能是:根據(jù)形參m的值(2m9),在m行m列的二維數(shù)組中存放如下所示的數(shù)據(jù),由main()函數(shù)輸出。例如,若輸入2,則輸出1 22 4輸入4,則輸出1 2 3 42 4 6 83 6 9 124 8 12 16試題程序:#include #include 1 M 10int aMM=0;void fun(int (*a)M, int m)int j,k; for(j=0;jm;j+) for(k=0;km;k+) ajk= 2 ;main()int i,

29、j, n; printf(Enter nn); scanf(%d,&n); fun(a,n); for(i=0;in;i+) for (j=0;jn;j+) printf(%4d ,aij); printf( 3 ); 2.函數(shù)fun()的功能是:移動(dòng)字符串中的內(nèi)容,移動(dòng)的規(guī)則是把第1到第m個(gè)字符,平移到字符串的最后,把第m+1到最后的字符移到字符串的前部。例如,字符串中原有的內(nèi)容為ABCDEFGHIJK,m的值為3,移動(dòng)后,字符串中的內(nèi)容應(yīng)該是DEFGHIJKABC。試題程序:#include #include#define N 80void fun (char *w,int m) int

30、i,j; char t; for(i=1;i=m;i+) t=w0; for(j=1;wj!=0;j+) wj-1= 1 ; 2 =t; main() 3 *wf; char aN= ABCDEFGHIJK; int m; printf(The origina string :n); puts(a); printf(nnEnter m: ); scanf(%d,&m); fun(a,m); printf(nThe string after moving :n); puts(a); printf(nn); wf=fopen(out.dat,w); fun(b,3); fprintf(wf,%s,

31、b); fclose(wf);第11套 上機(jī)考試試題1. 填空題1.已知一個(gè)數(shù)列從0項(xiàng)開(kāi)始的前3項(xiàng):0,0,1,以后的各項(xiàng)都是其相鄰的前3項(xiàng)之和。下列給定的程序中,函數(shù)fun()的功能是:計(jì)算并輸出該數(shù)列前n項(xiàng)的平方根之和sum。n的值通過(guò)形參傳入。例如,當(dāng)n=10時(shí),程序的輸出結(jié)果應(yīng)為23.197745。試題程序:#include #include #include double fun(int n) double sum, s0, s1, s2, s; int k; sum=1.0; if (n=2) sum=0.0; s0=0.0; s1=0.0; s2=1.0; for (k=4;k=

32、n;k+) s=s0+s1+s2; sum+=sqrt(s); s0=s1;s1=s2; 2 ; return 3 ;main()int n; printf(Input N=); scanf(%d,&n); printf(%fn,fun(n);2.函數(shù)fun()的功能是:將M行N列的二維數(shù)組中的字符數(shù)據(jù),按列的順序依次放到一個(gè)字符串中。例如,若二維數(shù)組中的數(shù)據(jù)為:WWWWSSSSHHHH則字符串中的內(nèi)容應(yīng)是WSHWSHWSHWSH。試題程序:#include#define M 3#define N 4void fun(char (*s)N,char 1 ) int i,j,k=0; for(i

33、=0;iN;i+) for(j=0;jM;j+) bk+= 2 ; bk=0;main() FILE *wf; char a100,wMN= W, W, W, W,S, S, S, S,H, H, H, H; int i,j; printf(The matrix:n); for(i=0;iM;i+) for(j=0;jN;j+) printf(%3c,wij); printf( 3 ); fun(w,a); printf(The A string:n); puts(a); printf(nn); wf=fopen(out.dat,w); fprintf(wf,%s,a); fclose(wf)

34、;第12套 上機(jī)考試試題1. 填空題1.下列給定程序中,函數(shù)fun()的功能是:從N個(gè)字符串中找出最長(zhǎng)的那個(gè)串,并將其地址作為函數(shù)值返回。各字符串在主函數(shù)中輸入,并放入一個(gè)字符串?dāng)?shù)組中。試題程序:#include #include #define N 5#define M 81 1 fun(char (*sq)M)int i; char *sp; 2 ; for(i=0;iN;i+) if(strlen(sp)strlen( 3 ) sp=sqi; return sp;main()char strNM, *longest; int i; printf(Enter %d lines:n ,N);

35、 for(i=0;iN;i+) gets(stri); printf(nThe %d string :n ,N); for(i=0;iN;i+) puts(stri); longest=fun(str); printf(nThe longest string :n ); puts(longest); 2.下列程序定義了NN的二維數(shù)組,并在主函數(shù)中自動(dòng)賦值。函數(shù)fun的功能是:使數(shù)字右上半三角元素中的值乘以m。例如,若m的值為2,a數(shù)組中的值為a=1 92 7則返回主程序后a數(shù)組的值應(yīng)為2 182 14試題程序:#include#include#include#define N 5void fu

36、n(int aN, int m) int i,j; for(i=0;iN;i+) for( 1 ;jN;j+) aij= 2 *m;main() FILE *wf; int aNN,m, i, j; int bNN=1,9,0,5,1,2,7,3,4,2,9; printf(*The array*n); for(i=0;iN;i+) for(j=0;j=3); printf(m=%4dn,m); fun(a,m); printf(THE RESULTn); for(i=0;iN;i+) for(j=0;jN;j+) printf(%4d,aij); printf(n); wf=fopen(ou

37、t.dat,w); fun(b,2); for(i=0;iN;i+) for(j=0;jN;j+) fprintf(wf,%4d,bij); fprintf(wf,n); fclose(wf); 第13套 上機(jī)考試試題1. 填空題1.下列給定程序中,函數(shù)fun()的功能是:對(duì)N名學(xué)生的學(xué)習(xí)成績(jī),按從高到低的順序找出前m(m10)名學(xué)生來(lái),并將這些學(xué)生數(shù)據(jù)存放在一個(gè)動(dòng)態(tài)分配的連續(xù)存儲(chǔ)區(qū)中,此存儲(chǔ)區(qū)的首地址作為函數(shù)值返回。試題程序:#include #include #include #include #define N 10typedef struct ss char num10; int s;

38、 STU; 1 *fun(STU a, int m) STU bN,*t; int i, j,k; t=calloc(m, 2 ); for(i=0;iN;i+) bi=ai; for(k=0;km;k+) for (i=j=0;ibj.s) 3 ; tk=bj; tk.s=bj.s; bj.s=0; return t;outresult(STU a,FILE *pf) int i; for(i=0;i10) printf(nGive the number of the students who have better score: ); scanf(%d,&m); pOrder=fun(a,

39、m); printf(* THE RESULT*n); printf(The top :n); for(i=0;im;i+) printf(%s %dn,pOrderi.num, pOrderi.s); free(pOrder);2.函數(shù)fun()的功能是從傳入的num個(gè)字符中找出最長(zhǎng)的一個(gè)字符串,并通過(guò)形參指針max傳回該串地址(用0000作為結(jié)束輸入的標(biāo)志)。試題程序:#include#include#includechar *fun(char (*a)81, int num, char 1 ) int i=0; max= 2 ; for(i=0;inum;i+) if(strlen(ma

40、x)strlen(ai) max=ai; return max;main() FILE *wf; char ss1081,*ps=; char s381=abcd,deg,diegns,*p=; int n, i=0; printf(輸入若干個(gè)字符串:); gets(ssi); puts(ssi); while( 3 =0) i+; gets(ssi); puts(ssi); n=i; ps=fun(ss,n,ps); printf(nmax=%sn,ps); wf=fopen(out.dat,w); p=fun(s,3,p); fprintf(wf,%s,p); fclose(wf);第14

41、套 上機(jī)考試試題1. 填空題1.下列給定程序中函數(shù)fun()的功能是:先將在字符串s中的字符按逆序存放到t串中,然后把s中的字符按正序連接到t串的后面。例如:當(dāng)s中的字符串為ABCDE時(shí),則t中的字符串應(yīng)為EDCBAABCDE。試題程序:#include #include #include void fun (char *s, char *t ) int i,s1; s1= 1 ; for (i=0;is1;i+) ti=s 2 ; for (i=0;is1;i+) ts1+i=si; t 3 =0;main() char s100, t100; printf(nPlease enter st

42、ring s: ); scanf(%s,s); fun(s,t); printf (The result is: %sn,t); 2.函數(shù)fun()的功能是該函數(shù)可以統(tǒng)計(jì)一個(gè)長(zhǎng)度為2的字符串在另一個(gè)字符串中出現(xiàn)的次數(shù)。例如,假定輸入的字符串為asd asasdfg asd as zx67 asd mklo,子字符串為as,則應(yīng)當(dāng)輸出6。試題程序:#include #include #include int fun(char *str, char *substr) int i,j=0; for(i=0;str 1 !=0;i+) if(stri=substr0& 2 ) j+; return 3

43、 ;main() FILE *wf; char str81,substr3; int n; printf(輸入主字符串: ); gets(str); printf(輸入子字符串: ); gets(substr); puts(str); puts(substr); n=fun(str,substr); printf(n=%dn ,n); wf=fopen(out.dat,w); n=fun(asd asasdfg asd as zx67 asd mklo,as); fprintf(wf,%d,n); fclose(wf);第15套 上機(jī)考試試題1. 填空題1.下列給定程序中,函數(shù)fun()的功能

44、是:將m(1m10)個(gè)字符串連接起來(lái),組成一個(gè)新串,放入pt所指字符串中,例如:把3個(gè)串a(chǎn)bc,CD,EF串聯(lián)起來(lái),結(jié)果是abcCDEF。試題程序:#include #include #include void fun(char 1 ,int m, char *pt) int k,q,i,j=0; for(k=0;km;k+) q=strlen(strk); j+=q; for(i=0;iq;i+) pti=strki; pt+=q; pt0= 2 ; pt-= 3 ;main() int m, h; char s1010,p120; printf(nPlease enter m: ); sc

45、anf(%d,&m); gets(s0); printf(nPlease enter %d string:n ,m); for(h=0;hm;h+) gets(sh); fun(s,m,p); printf(nThe result is :%sn ,p);2.假定輸入的字符串中只包含字母和*號(hào)。函數(shù)fun()的功能是:只刪除字符串前端和尾部的*號(hào),串中字母之間的*號(hào)都不刪除。形參n給出了字符串的長(zhǎng)度,形參h給出了字符串中前導(dǎo)*號(hào)的個(gè)數(shù),形參e給出了字符串中最后*號(hào)的個(gè)數(shù)。在編寫函數(shù)時(shí),不得使用C語(yǔ)言提供的字符串函數(shù)。例如,若字符串中的內(nèi)容為*A*BC*DEF*G*,刪除后,字符串中的內(nèi)容則應(yīng)當(dāng)

46、是A*BC*DEF*G。試題程序:#include #include void fun (char *a,int n ,int h , int e) int i,j=0; for(i=h;i 1 ;i+) aj+=ai; aj= 2 ;main() FILE *wf; char s81,*t,*f; char *p=*A*BC*DEF*G*; int m=0,tn=0, fn=0; printf(Enter a string :n); gets(s); t=f=s; while(*t) t+;m+; 3 ; while(*t=*) t-;tn+; while(*f=*) f+;fn+; fun

47、( s, m, fn, tn); printf(The string after deleted:n); puts(s); wf=fopen(out.dat,w); fun(p,21,4,7); fprintf(wf,%s,p); fclose(wf);第16套 上機(jī)考試試題1. 填空題1.下列給定程序中,函數(shù)fun()的功能是:用遞歸算法計(jì)算斐波拉契級(jí)數(shù)列中第n項(xiàng)的值。從第一項(xiàng)起,斐波拉契級(jí)數(shù)序列為1,1,2,3,5,8,13,21,例如,若給n輸入7,該項(xiàng)的斐波拉契級(jí)數(shù)值為13。試題程序:#include long fun(int g) switch(g) case 0:return 0;

48、 case 1: 1 :return 1; return ( 2 );main() long fib; int n; printf(Input n:);scanf(%d, 3 );printf(n=%dn,n); fib=fun(n); printf(fib=%dnn,fib); 2.學(xué)生的記錄由學(xué)號(hào)和成績(jī)組成,N名學(xué)生的數(shù)據(jù)已在主函數(shù)中放入結(jié)構(gòu)體數(shù)組s中,請(qǐng)編寫函數(shù)fun(),它的功能是:按分?jǐn)?shù)的高低排列學(xué)生的記錄,高分在前。試題程序:#include #define N 16typedef struct char num10; int s ;STRUC;void fun (STRUC a)

49、 int i,j; STRUC t; for( 1 ;iN;i+) for(j=0;j 2 ;j+) if(aj.s 3 aj+1.s) t=aj;aj=aj+1;aj+1=t;main () FILE *wf; STRUC sN= GA005,85,GA003,76,GA002,69,GA004,85, GA001,91,GA007,72,GA008,64,GA006,87, GA015,85,GA013,91,GA012,64,GA014,91, GA011,66,GA017,64,GA018,64,GA016,72; int i; FILE *out; fun(s); printf(Th

50、e data after sorted :n); for (i=0; iN; i+) if(i)%4=0) printf(n); printf(%s %4d,si.num,si.s); printf(n); out=fopen(out65.dat, w); for(i=0; iN; i+) if(i)%4=0&i) fprintf(out, n); fprintf(out, %4d,si.s); fprintf(out, n); fclose(out); wf=fopen(out.dat,w); for (i=0; iN; i+) if(i)%4=0&i) fprintf(wf,n); fpr

51、intf(wf,%s %4d,si.num,si.s); fclose(wf);第17套 上機(jī)考試試題1. 填空題1.下列給定的程序中,函數(shù)fun()的功能是:為一個(gè)偶數(shù)尋找兩個(gè)素?cái)?shù),這兩個(gè)素?cái)?shù)之和等于該偶數(shù),并將這兩個(gè)素?cái)?shù)通過(guò)形參指針傳回主函數(shù)。試題程序:#include #include void fun(int a, int *b, int *c) int i,j,d,y; for (i=3;i=a/2;i=i+2) 1 ; for (j=2;j=sqrt(double)i );j+) if ( 2 =0) y=0; if (y=1) d=a-i; for (j=2;j=sqrt(dou

52、ble)d );j+) if (d%j=0) y=0; if (y=1) *b=i; *c=d; main() int a,b,c; do printf(nInput a: ); scanf(%d,&a); while( 3 ); fun(a,&b,&c); printf(nn%d=%d+%dn,a,b,c);2.請(qǐng)編寫一個(gè)函數(shù)void fun(char *ss),其功能是:將字符串ss中所有下標(biāo)為偶數(shù)位置上的字母轉(zhuǎn)化為大寫(若該位置上不是字母,則不轉(zhuǎn)換)。例如,若輸入abc4Efg,則應(yīng)輸出AbC4EfG。試題程序:#include#includevoid fun ( char *ss) i

53、nt i; for(i=0;ssi!=0;i+) if( 1 =0&ssi=a 2 ssi=z) ssi= 3 -32; main() FILE *wf; char tt51,*s=abc4Efg; printf(Please enter an character string within 50 characters:n); gets(tt); printf(nnAfter changing,the stringn %s,tt); fun(tt); printf(nbecomesn %s,tt); wf=fopen(out.dat,w); fun(s); fprintf(wf,%s,s);

54、fclose(wf);第18套 上機(jī)考試試題1. 填空題1.下列給定程序中,函數(shù)fun()的功能是:用冒泡法對(duì)6個(gè)字符串按由小到大的順序進(jìn)行排序。試題程序:#include #include #include #define MAXLINE 20void fun(char *pstr6) int i, j; char *p; for(i=0;i 1 ;i+) for(j= 2 ;j6;j+) if(strcmp(*(pstr+i),*(pstr+j) 3 0) p=*(pstr+i); *(pstr+i)=*(pstr+j); *(pstr+j)=p; main() int i; char *

55、pstr6,str6MAXLINE; for(i=0;i6;i+) pstri=stri; printf(nEnter 6 string(1 string at each line):n ); for(i=0;i6;i+) scanf(%s,pstri); fun(pstr); printf(The strings after sorting:n ); for(i=0;i6;i+) printf(%sn ,pstri);2.已知學(xué)生的記錄由學(xué)號(hào)和學(xué)習(xí)成績(jī)構(gòu)成,N名學(xué)生的數(shù)據(jù)已存入a結(jié)構(gòu)體數(shù)組中。函數(shù)fun()的功能是:找出成績(jī)最高的學(xué)生記錄,通過(guò)形參返回主函數(shù)(規(guī)定只有一個(gè)最高分)。試題程序:

56、#include#include#include#define N 10typedef struct ss char num10; int s; STU;fun(STU a, STU 1 ) int i; *s= 2 ; for(i=0;iN;i+) if( 3 ai.s) *s=ai;main() FILE *wf; STU aN= A01,81, A02,89, A03,66, A04,87, A05,77, A06,90, A07,79, A08,61, A09,80, A10,71,m; int i; printf(*The original data*); for(i=0;iN;i+

57、) printf(No=%s Mark=%dn, ai.num,ai.s); fun(a,&m); printf(*THE RESULT*n); printf(The top :%s, %dn,m.num,m.s); wf=fopen(out.dat,w); fprintf(wf,%s,%d,m.num,m.s); fclose(wf); 第19套 上機(jī)考試試題1. 填空題1.下列給定程序中,函數(shù)fun()的功能是:首先把b所指字符串中的字符按逆序存放,然后將a所指字符串中的字符和b所指字符串中的字符,按排列的順序交叉合并到c所指數(shù)組中,過(guò)長(zhǎng)的剩余字符接在c所指數(shù)組的尾部。例如,當(dāng)a所指字符串

58、中的內(nèi)容為abcdefg,b所指字符串中的內(nèi)容為1234時(shí),c所指數(shù)組中的內(nèi)容應(yīng)該為a4b3c2d1efg;而當(dāng)a所指字符串中的內(nèi)容為1234,b所指字符串中的內(nèi)容為abcdefg時(shí),c所指數(shù)組中的內(nèi)容應(yīng)該為1g2f3e4dcba。試題程序:#include #include #include void fun(char *a, char *b, char *c) int i, j; char ch; i=0; j=strlen(b)-1; while (ij) ch=bi; bi=bj; bj=ch; i+; 1 ; while ( 2 ) if (*a)*c=*a; c+; a+; if(

59、*b)*c=*b; c+; b+; 3 =0 ; main() char s1100,s2100,t200; printf(nEnter s1 string: ); scanf(%s,s1); printf(nEnter s2 string: ); scanf(%s,s2); fun(s1,s2,t); printf(nThe result is :%sn,t); 2.函數(shù)fun()的功能是:將所有大于1小于整數(shù)m的非素?cái)?shù)存入xx所指數(shù)組中,非素?cái)?shù)的個(gè)數(shù)通過(guò)k傳回。例如,輸入17,則應(yīng)輸出4 6 8 9 10 12 14 15 16。試題程序:#include#includevoid fun(

60、int m, int *k, int xx) int i,j,n=0; for(i=4;im;i+) for(j=2;j 1 ;j+) if(i%j=0) 2 ; if(ji) xxn+=i; *k= 3 ;main() FILE *wf; int m, n, zz100; printf(nPlease enter an integer number between 10 and 100: ); scanf(%d,&n); fun(n,&m,zz); printf(nnThere are %d non-prime numbers less than %d: ,m,n); for(n=0;nm;

溫馨提示

  • 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)論