青海大學試題庫c語言程序設計_第1頁
青海大學試題庫c語言程序設計_第2頁
青海大學試題庫c語言程序設計_第3頁
青海大學試題庫c語言程序設計_第4頁
青海大學試題庫c語言程序設計_第5頁
已閱讀5頁,還剩153頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、-. z.試卷編號:9478所屬語言:C語言試卷方案:TC_4試卷總分:1260分共有題型:1種一、程序設計共126題共計1260分第1題10.0分題號:507 難度:易第1章/*-【程序設計】-功能:編寫函數(shù)fun求一個字符串的長度,在main函數(shù)中輸入字符串,并輸出其長度。-*/#include void wwjt(); int fun(char *p1) /*Program*/ /* End */main() char *p,a20; int len; p=a; printf(please input a string:n); gets(p); len=fun(p); printf(Th

2、e strings length is:%dn,len); wwjt();void wwjt() FILE *IN,*OUT; char *pIN,sin20; int iOUT,i; pIN=sin; IN=fopen(3.IN,r); if(IN=NULL) printf(Please Verify The Currernt Dir.it May Be Changed); OUT=fopen(3.out,w); if(OUT=NULL) printf(Please Verify The Current Dir. it May Be Changed); for(i=0;i10;i+) fsc

3、anf(IN,%s,pIN); iOUT=fun(pIN); fprintf(OUT,%dn,iOUT); fclose(IN); fclose(OUT);答案:-char *p;int n=0;p=p1;while(*p+) n+; return n;-第2題10.0分題號:386 難度:中第2章/*-【程序設計】-功能:用函數(shù)求N個10,60上的整數(shù)中能被5整除的最大的數(shù),如存在則返回這個最大值,如果不存在則返回0。-*/#define N 30#include stdlib.h#include void wwjt(); int find(int arr,int n) int m=0; /

4、*Program*/ /* End */ return(m);main() int aN,i,k; for(i=0;iN;i+) ai=random(51)+10; for(i=0;iN;i+) printf(%5d,ai); if(i+1)%5=0) printf(n); k=find(a,N); if(k=0) printf(NO FOUNDn); else printf(the ma* is:%dn,k); wwjt();void wwjt() FILE *IN,*OUT; int n; int i5; int o; IN=fopen(in.dat,r); if(IN=NULL) pri

5、ntf(Read FILE Error); OUT=fopen(out.dat,w); if(OUT=NULL) printf(Write FILE Error); for(n=0;n5;n+) fscanf(IN,%d,&in); o=find(i,5); fprintf(OUT,%dn,o); fclose(IN); fclose(OUT);答案:-int i; for(i=0;im) m=arri;-第3題10.0分題號:321 難度:中第2章/*-【程序設計】-功能:編寫函數(shù)fun其功能是:根據整型形參m,計算如下公式的值:y=1/2!+1/4!+1/m!m是偶數(shù)-*/#include

6、 void wwjt();double fun(int m) /*Program*/ /* End */main() int n; printf(Enter n: ); scanf(%d, &n); printf(nThe result is %1fn, fun(n); wwjt(); void wwjt() FILE *IN,*OUT; int t; double o; int c; IN=fopen(in.dat,r); if(IN=NULL) printf(Read FILE Error); OUT=fopen(out.dat,w); if(OUT=NULL) printf(Write

7、FILE Error); for(c=1;c=5;c+) fscanf(IN,%d,&t); o=fun(t); fprintf(OUT,%fn,o); fclose(IN); fclose(OUT);答案:double y=0.0;int i,j;double s=1;for (i=2;i=m;i+=2)for(j=i-1;j=i;j+)s=s*j;y=y+1.0/s;return y;第4題10.0分題號:54 難度:易第1章/*-【程序設計】-功能:求1到100之間的偶數(shù)之積。-*/#include void wwjt();double fun(int m) /*Program*/ /*

8、 End */main() printf(ji=%fn,fun(100); wwjt();void wwjt() FILE *IN,*OUT; int iIN,i; double dOUT; IN=fopen(23.IN,r); if(IN=NULL) printf(Please Verify The Currernt Dir.it May Be Changed); OUT=fopen(23.out,w); if(OUT=NULL) printf(Please Verify The Current Dir. it May Be Changed); for(i=0;i10;i+) fscanf(

9、IN,%d,&iIN); dOUT=fun(iIN); fprintf(OUT,%fn,dOUT); fclose(IN); fclose(OUT);答案:-double y=1; int i; for(i=1;i=m;i+) if(i%2=0)y*=i; return y;-第5題10.0分題號:62 難度:難第2章/*-【程序設計】-功能:求5行5列矩陣的主、副對角線上元素之和。注意,兩條對角線相交的元素只加一次。例如:主函數(shù)中給出的矩陣的兩條對角線的和為45。-*/#include #define M 5void wwjt();int fun(int aMM) /*Program*/ /

10、* End */main() int aMM=1,3,5,7,9,2,4,6,8,10,2,3,4,5,6,4,5,6,7,8,1,3,4,5,6; int y; y=fun(a); printf(s=%dn,y); wwjt();void wwjt() FILE *IN,*OUT; int iINMM,iOUT; int i,j; IN=fopen(in.dat,r); if(IN=NULL) printf(Please Verify The Currernt Dir.it May Be Changed); OUT=fopen(out.dat,w); if(OUT=NULL) printf(

11、Please Verify The Current Dir. it May Be Changed); for(i=0;iM;i+) for(j=0;jM;j+) fscanf(IN,%d,&iINij); iOUT=fun(iIN); fprintf(OUT,%dn,iOUT); fclose(IN); fclose(OUT);答案:-int s=0; int i,j; for(i=0;iM;i+) s=s+aii+aiM-1-i; s=s-a(M-1)/2(M-1)/2; return s;-第6題10.0分題號:37 難度:較難第6章/*-【程序設計】-功能:輸入2個學生3門課的成績,計算

12、學生成績平均分,課程平均分和最高分. 例如:輸入2名學生3門課的成績分別為92,87,68,56, 92,84 則學生1平均分:82.33學生2平均分:77.33課程1平均分:74.00課程2平均分:89.50課程3平均分:76.00最高分為:92-*/#include void wwjt();/*定義全局變量*/*學生成績平均分*/float StuAgv2;/*課程平均分*/float CouAgv3;/*所有學生的所有課程最高分*/float Ma*=0;/*說明:需要在下面函數(shù)中把題干要求中的結果賦值到上面定義一變量中*/void fun(float score23) /*Progra

13、m*/ /* End */void main() int i,j; float score23; printf(輸入學生的成績:); for(i=0;i2;i+) for(j=0;j3;j+) scanf(%f,&scoreij); printf(n輸出學生的成績:); for(i=0;i2;i+) for(j=0;j3;j+) printf(%.2f ,scoreij); printf(n); fun (score); for(i=0;i2;i+) printf(第%d個學生的平均成績是:%0.2fn,i+1,StuAgvi); for(j=0;j3;j+) printf(第%d門課的平均成

14、績是:%0.2fn,j+1,CouAgvj); printf(所有分數(shù)中的最高分為:%.2fn,Ma*); wwjt();void wwjt() FILE *IN,*OUT; float iIN23; int i,j; IN=fopen(in.dat,r); if(IN=NULL) printf(Please Verify The Currernt Dir.it May Be Changed); OUT=fopen(out.dat,w); if(OUT=NULL) printf(Please Verify The Current Dir. it May Be Changed); for(i=0

15、;i2;i+) for(j=0;j3;j+) fscanf(IN,%f,&iINij); fun(iIN); for(i=0;i2;i+) fprintf(OUT,%.2fn,StuAgvi); for(j=0;j3;j+) fprintf(OUT,%.2fn,CouAgvj); fprintf(OUT,%.2fn,Ma*); fclose(IN); fclose(OUT); return ;答案:int i,j;float sum; for(i=0;i2;i+) /*計算第i個學生平均分*/ sum=0; for(j=0;j3;j+) sum=sum+scoreij; StuAgvi=sum

16、/3; for(j=0;j3;j+) /*計算第j門課的平均分*/ sum=0; for(i=0;i2;i+) sum=sum+ score ij; CouAgvj=sum/2; Ma*=score00; for(i=0;i2;i+) for(j=0;j3;j+) if(Ma*=scoreij) Ma*=scoreij; return ;第7題10.0分題號:322 難度:中第2章/*-【程序設計】-功能:判斷一個整數(shù)w的各位數(shù)字平方之和能否被5整除,可以被5整除則返回1,否則返回0。-*/#include #includeconio.hvoid wwjt(); int fun(int w)

17、/*Program*/ /* End */main() int m; printf(Enter m: ); scanf(%d, &m); printf(nThe result is %dn, fun(m); wwjt();void wwjt() FILE *IN,*OUT; int c ; int t; int o; IN=fopen(in.dat,r); if(IN=NULL) printf(Read FILE Error); OUT=fopen(out.dat,w); if(OUT=NULL) printf(Write FILE Error); for(c=1;c=5;c+) fscanf

18、(IN,%d,&t); o=fun(t); fprintf(OUT,%dn,o); fclose(IN); fclose(OUT);答案:-int k,s=0; do s=s+(w%10)*(w%10); w=w/10; while(w!=0); if(s%5=0)k=1; else k=0; return(k);-第8題10.0分題號:513 難度:中第95章/*-【程序設計】-題目:編程序,輸入兩個字符串a,b40個字符,將兩者連接后輸出c不能用strcat庫函數(shù)。-*/#include #include void main( ) /*Program*/* End */ 答案: char

19、a40, b40, c80; int i, j; printf(分二行輸入兩個字符串: n); gets(a); gets(b); for( i=0; ai!=0; i+) ci=ai; for( j=0; bj!=0; j+) ci+j=bj; ci+j=0; puts(c);第9題10.0分題號:594 難度:中第1章/*-【程序設計】-請編一個函數(shù)void fun(int ttMN, int ppN), tt指向一個M行N列的二維數(shù)組,求出二維數(shù)組每列中最大元素,并依次放入pp所指的一維數(shù)組中。二維數(shù)組中的數(shù)已在主函數(shù)中給出。注意:局部源程序給出如下。請勿改動主函數(shù)main和其他函數(shù)中的

20、任何內容,僅在函數(shù)fun的花括號中填入所編寫的假設干語句。試題程序:-*/#include #include #include #define M 3#define N 4void fun(int ttMN, int ppN) int i, j, ma*; /*Program*/ /* End */void main() FILE *wf; int tMN = 68, 32, 54, 12,14, 24, 88, 58,42, 22, 44, 56; int pN, i, j, k; system(CLS); printf(The riginal data is:n); for(i = 0;

21、i M; i+) for(j = 0; j N; j+) printf(%6d, tij); printf(n); fun(t, p); printf(nThe result is:n); for(k = 0; k N; k+) printf(%4d, pk); printf(n); wf=fopen(out.t*t, w); for(k=0; k N; k+) fprintf(wf, %4d, pk); fclose(wf);答案: for(j = 0; j N; j+) ma* = tt0j; for(i = 0; i ma*) ma* = ttij; ppj = ma*; 第10題10.

22、0分題號:319 難度:中第2章/*-【程序設計】-功能:判斷m是否為素數(shù)。-*/#include stdio.hvoid wwjt();int fun(int m) /*Program*/ /* End */main() int m,k=0; for(m=100;m200;m+) if(fun(m) printf(%4d,m); k+; if(k%5=0) printf(n); printf(k=%dn,k); wwjt();void wwjt() FILE *IN,*OUT; int iIN,iOUT,i; IN=fopen(in.dat,r); if(IN=NULL) printf(Pl

23、ease Verify The Currernt Dir.It May Be Changed); OUT=fopen(out.dat,w); if(OUT=NULL) printf(Please Verify The Current Dir. It May Be Changed); for(i=0;i10;i+) fscanf(IN,%d,&iIN); iOUT=fun(iIN); fprintf(OUT,%dn,iOUT); fclose(IN); fclose(OUT); 答案:- int i,k=1; if(m=1) k=0; for(i=2;im;i+) if(m%i=0) k=0;

24、return k;-第11題10.0分題號:366 難度:易第2章/*-【程序設計】-功能:求一組數(shù)中大于平均值的數(shù)的個數(shù)。例如:給定的一組數(shù)為1,3,6,9,4,23,35,67,12,88時,函數(shù)值為3。-*/#include void wwjt(); int fun(int a,int n) /*Program*/ /* End */main() int a10=1,3,6,9,4,23,35,67,12,88; int y; y=fun(a,10); printf(y=%dn,y); wwjt();void wwjt() FILE *IN,*OUT; int iIN10,iOUT,i,

25、j; IN=fopen(in.dat,r); if(IN=NULL) printf(Please Verify The Currernt Dir.it May Be Changed); OUT=fopen(out.dat,w); if(OUT=NULL) printf(Please Verify The Current Dir. it May Be Changed); for(j=0;j10;j+) for(i=0;i10;i+) fscanf(IN,%d,&iINi); iOUT=fun(iIN,10); fprintf(OUT,%dn,iOUT); fclose(IN); fclose(O

26、UT);答案:-int i,k=0; float s=0,ave; for(i=0;in;i+) s+=ai; ave=s/n; printf(%f ,ave); for(i=0;iave)k+; return k;-第12題10.0分題號:589 難度:中第1章/*-【程序設計】-題目:請編寫程序,輸入一個華氏溫度,要求輸出攝氏溫度。公式為 C=5/9*(F-32)要求:輸入為整型,輸出為實型,保存兩位小數(shù)。-*/#include void wwjt();double fun(int f) /*Program*/ /* End */void main() int f; scanf(%d,&f

27、); printf(%.2f,fun(f); wwjt();void wwjt() FILE *IN,*OUT; int i; int iIN; double iOUT; IN=fopen(in.dat,r); if(IN=NULL) printf(Please Verify The Currernt Dir.It May Be Changed); OUT=fopen(out.dat,w); if(OUT=NULL) printf(Please Verify The Current Dir. It May Be Changed); for(i=0;i5;i+) fscanf(IN,%d,&iI

28、N); iOUT=fun(iIN); fprintf(OUT,%.2fn,iOUT); fclose(IN); fclose(OUT);答案: double c; c = 5.0 / 9.0 * (f - 32); return c;第13題10.0分題號:586 難度:中第1章/*-【程序設計】-題目:對從鍵盤輸入的10個整數(shù)進展降序排序;排序后輸出第2大的數(shù),請編fun函數(shù)。-*/#include stdio.hvoid wwjt();int fun(int a) /*Program*/ /* End */void main() int a10,i,m; for(i=0;i10;i+) s

29、canf(%d,&ai); m=fun(a); printf(%d ,m); wwjt();void wwjt() FILE *IN,*OUT; int iIN10,i; int iOUT,iCOUNT; IN=fopen(in.dat,r); if(IN=NULL) printf(Please Verify The Currernt Dir.it May Be Changed); OUT=fopen(out.dat,w); if(OUT=NULL) printf(Please Verify The Current Dir. It May Be Changed); for(i=0;i5;i+)

30、 for(iCOUNT=0;iCOUNT10;iCOUNT+) fscanf(IN,%d,&iINiCOUNT); iOUT=fun(iIN); fprintf(OUT,%dn,iOUT); fclose(IN); fclose(OUT);答案: int i,j,t; for(i=0;i9;i+) for(j=0;j9-i;j+) if (ajaj+1 ) t=aj; aj=aj+1; aj+1=t; return a1;第14題10.0分題號:338 難度:中第2章/*-【程序設計】-功能:編寫程序,實現(xiàn)矩陣3行3列的轉置即行列互換例如:輸入下面的矩陣: 100 200 300 400 50

31、0 600 700 800 900 程序輸出: 100 400 700 200 500 800 300 600 900 -*/#include void wwjt(); int fun(int array33) /*Program*/ /* End */ main() int i,j; int array33=100,200,300, 400,500,600, 700,800,900; for (i=0; i 3; i+) for (j=0; j 3; j+) printf(%7d,arrayij); printf(n); fun(array); printf(Converted array:

32、n); for (i=0; i 3; i+) for (j=0; j 3; j+) printf(%7d,arrayij); printf(n); wwjt(); void wwjt() int i,j, array33; FILE *rf, *wf ; rf = fopen(in.dat, r) ; wf = fopen(out.dat, w) ; for (i=0; i 3; i+) for (j=0; j 3; j+) fscanf(rf, %d, &arrayij); fun(array); for (i=0; i 3; i+) for (j=0; j 3; j+) fprintf(w

33、f, %7d, arrayij); fprintf(wf, n); fclose(rf) ; fclose(wf) ; 答案:-int i,j,t; for(i=0; i 3; i+) for(j=0; j i; j+) t=arrayij; arrayij=arrayji; arrayji=t; -第15題10.0分題號:53 難度:中第1章/*-【程序設計】-功能:求一個四位數(shù)的各位數(shù)字的立方和-*/#include void wwjt();int fun(int n) /*Program*/ /* End */main() int k; k=fun(1234); printf(k=%dn

34、,k); wwjt();void wwjt() FILE *IN,*OUT; int iIN,iOUT,i; IN=fopen(22.IN,r); if(IN=NULL) printf(Please Verify The Currernt Dir.it May Be Changed); OUT=fopen(22.out,w); if(OUT=NULL) printf(Please Verify The Current Dir. it May Be Changed); for(i=0;i0) d=n%10; s+=d*d*d; n/=10; return s;-第16題10.0分題號:318 難

35、度:中第2章/*-【程序設計】-功能:輸入一個字符串,過濾此串,只保存串中的字母字符,并統(tǒng)計新生成串中包含的字母個數(shù)。例如:輸入的字符串為ab234$df4,新生成的串為abdf 。-*/#include #include #define N 80void wwjt();fun(char *ptr) /*Program*/ /* End */main() char strN; int s; printf(input a string:);gets(str); printf(The origINal string is :); puts(str); s=fun(str); printf(The

36、new string is :);puts(str); printf(There are %d char IN the new string.,s); wwjt();void wwjt() FILE *IN,*OUT; char sinN; int iOUT; IN=fopen(in.dat,r); if(IN=NULL) printf(Please Verify The Currernt Dir.it May Be Changed); OUT=fopen(out.dat,w); if(OUT=NULL) printf(Please Verify The Current Dir. it May

37、 Be Changed); fscanf(IN,%s,sin); iOUT=fun(sin); fprintf(OUT,%d %sn,iOUT,sin); fclose(IN); fclose(OUT);答案:- int i,j;for(i=0,j=0;*(ptr+i)!=0;i+)if(*(ptr+i)=a|*(ptr+i)=A)*(ptr+j)=*(ptr+i);j+;*(ptr+j)=0;return(j);-第17題10.0分題號:587 難度:中第1章/*-【程序設計】-題目:假設m是一個三位數(shù),編寫程序輸出由m的個位、十位、百位反序而成的三位數(shù)例如:123反序為321。請編fun函

38、數(shù)。-*/#includestdio.hvoid wwjt();int fun(int a) /*Program*/ /* End */void main() int a,k; scanf(%d,&a); k=fun(a); printf(k=%d,k); wwjt();void wwjt() FILE *IN,*OUT; int iIN,i; int dOUT; IN=fopen(in.dat,r); if(IN=NULL) printf(Please Verify The Currernt Dir.it May Be Changed); OUT=fopen(out.dat,w); if(O

39、UT=NULL) printf(Please Verify The Current Dir. it May Be Changed); for(i=0;i5;i+) fscanf(IN,%d,&iIN); dOUT=fun(iIN); fprintf(OUT,%dn,dOUT); fclose(IN); fclose(OUT);答案: int m,k,n,b; m=a/100; n=(a-m*100)/10; b=a%10; k=b*100+n*10+m; return k;第18題10.0分題號:365 難度:易第2章/*-【程序設計】-功能:求1到100之間的偶數(shù)之積。-*/#include

40、 void wwjt(); double fun(int m) /*Program*/ /* End */main() printf(ji=%fn,fun(100); wwjt();void wwjt() FILE *IN,*OUT; int iIN,i; double dOUT; IN=fopen(in.dat,r); if(IN=NULL) printf(Please Verify The Currernt Dir.it May Be Changed); OUT=fopen(out.dat,w); if(OUT=NULL) printf(Please Verify The Current

41、Dir. it May Be Changed); for(i=0;i5;i+) fscanf(IN,%d,&iIN); dOUT=fun(iIN); fprintf(OUT,%fn,dOUT); fclose(IN); fclose(OUT);答案:-double y=1; int i; for(i=1;i=m;i+) if(i%2=0)y*=i; return y;-第19題10.0分題號:593 難度:中第1章/*-【程序設計】-編寫函數(shù)fun(),它的功能是求n以內(不包括n)同時能被5與11整除的所有自然數(shù)之和的平方根s,并作為函數(shù)值返回。例如:n為1000時,函數(shù)值應為s=96.97

42、9379。注意:局部源程序給出如下。請勿改動主函數(shù)main和其他函數(shù)中的任何內容,僅在函數(shù)fun的花括號中填入所編寫的假設干語句。試題程序:-*/#include #include #include #include double fun(int n) double s = 0.0; int i; /*Program*/ /* End */void main() FILE *wf; system(CLS); printf(s=%fn, fun(1000); wf=fopen(out.t*t, w); fprintf(wf, %f, fun(1000); fclose(wf);答案: for(i

43、 = 0; i n; i+) if(i % 5 = 0 & i % 11 = 0) s = s + i; s = sqrt(s); return s;第20題10.0分題號:391 難度:易第2章/*-【程序設計】-功能:將字符串中的小寫字母轉換為對應的大寫字母,其它字符不變。-*/#include string.h#include void wwjt(); void change(char str) /*Program*/ /* End */main() void change(); char str40; gets(str); change(str); puts(str); wwjt();

44、void wwjt() FILE *IN,*OUT; char i200; IN=fopen(in.dat,r); if(IN=NULL) printf(Read FILE Error); OUT=fopen(out.dat,w); if(OUT=NULL) printf(Write FILE Error); fscanf(IN,%s,i); change(i); fprintf(OUT,%sn,i); fclose(IN); fclose(OUT);答案:-int i; for(i=0;stri!=0;i+) if(stri=a & stri=z) stri=stri-32;-第21題10.

45、0分題號:384 難度:易第2章/*-【程序設計】-功能:產生20個30,120上的隨機整數(shù)放入二維數(shù)組a54中,求每行元素的和。-*/#include stdlib.h#include void wwjt(); void row_sum(int a54,int b5)/*Program*/ /* End */main() void row_sum(); int a54,b5,i,j; for(i=0;i5;i+) for(j=0;j4;j+) aij=random(120-30+1)+30; for(i=0;i5;i+) for(j=0;j4;j+) printf(%5d,aij); pri

46、ntf(n); row_sum(a,b); for(i=0;i5;i+) printf(%6d,bi); printf(n); wwjt();void wwjt() FILE *IN,*OUT; int m,n; int i54; int o5; IN=fopen(in.dat,r); if(IN=NULL) printf(Read FILE Error); OUT=fopen(out.dat,w); if(OUT=NULL) printf(Write FILE Error); for(m=0;m5;m+) for(n=0;n4;n+) fscanf(IN,%d,&imn); row_sum(

47、i,o); for(n=0;n5;n+) fprintf(OUT,%dn,on); fclose(IN); fclose(OUT);答案:- int i,j; for(i=0;i5;i+) bi=0; for(j=0;j4;j+) bi=bi+aij; -第22題10.0分題號:329 難度:中第2章/*-【程序設計】-功能:對*一正數(shù)的值保存2位小數(shù),并對第三位進展四舍五入。-*/#include #includeconio.hvoid wwjt(); double fun(float h) /*Program*/ /* End */main() float m; printf(Enter

48、m: ); scanf(%f, &m); printf(nThe result is %8.2fn, fun(m); wwjt(); void wwjt() FILE *IN,*OUT; int s ; float t; double o; IN=fopen(in.dat,r); if(IN=NULL) printf(Read FILE Error); OUT=fopen(out.dat,w); if(OUT=NULL) printf(Write FILE Error); for(s=1;s=5)return(int)(h*100+1)/100.0;elsereturn(int)(h*100)

49、/100.0;-第23題10.0分題號:591 難度:中第1章/*-【程序設計】-題目:從鍵盤上輸入一個字符串,放在數(shù)組中,要求將字符串中的大寫字母轉換成小寫字母,小寫字母轉換成大寫字母,非字母字符不變,并輸出-*/#include #include #include #define N 80void wwjt();char fun(char a) /*Program*/ /* End */void main() char a80; char s; gets(a); s=fun(a); puts(a); wwjt();void wwjt() FILE *IN,*OUT; char sinN;

50、char iOUT; IN=fopen(in.dat,r); if(IN=NULL) printf(Please Verify The Currernt Dir.it May Be Changed); OUT=fopen(out.dat,w); if(OUT=NULL) printf(Please Verify The Current Dir. it May Be Changed); fscanf(IN,%s,sin); iOUT=fun(sin); fprintf(OUT,%sn,sin); fclose(IN); fclose(OUT);答案: int i; for(i = 0; i =

51、A & ai = a & ai = z) ai = ai - 32; return ai;第24題10.0分題號:353 難度:中第2章/*-【程序設計】-功能:對長度為7個字符的字符串,除首、尾字符外,將其余5個字符按降序排列。例如:原來的字符串為CEAedca,排序后輸出為CedcEAa。-*/#include#include#includevoid wwjt(); void fun(char *s,int num) /*Program*/ /* End */main() char s10; printf(輸入7個字符的字符串:); gets(s); fun(s,7); printf(n%

52、s,s); wwjt();void wwjt() int i; char a100; FILE *rf, *wf ; rf = fopen(in.dat, r) ; wf = fopen(out.dat, w) ; for(i=0;i3;i+) fscanf(rf, %s, &a); fun(a,7); fprintf(wf, %s, a); fprintf(wf, n); fclose(rf); fclose(wf);答案:- int i,j; char t; for(i=1;inum-1;i+) for(j=i+1;jnum-1;j+) if(sisj) t=si;si=sj;sj=t;-

53、第25題10.0分題號:328 難度:中第2章/*-【程序設計】-功能:求k!k13,所求階乘的值作為函數(shù)值返回。要求使用遞歸-*/#include #includeconio.hvoid wwjt(); long fun(int k) /*Program*/ /* End */main() int m; printf(Enter m: ); scanf(%d, &m); printf(nThe result is %ldn, fun(m); wwjt(); void wwjt() FILE *IN,*OUT; int s ; int t; long o; IN=fopen(in.dat,r)

54、; if(IN=NULL) printf(Read FILE Error); OUT=fopen(out.dat,w); if(OUT=NULL) printf(Write FILE Error); for(s=1;s0)return(k*fun(k-1);else if(k=0)return 1L;-第26題10.0分題號:596 難度:中第1章/*-【程序設計】-編寫函數(shù)fun,其功能是:將兩個兩位數(shù)的正整數(shù)a、b合并形成一個整數(shù)放在c中。合并的方式是:將a數(shù)的十位和個位數(shù)依次放在c數(shù)個位和十位上,b數(shù)的十位和個位數(shù)依次放在c數(shù)的百位和千位上。例如,當a=16,b=35,調用該函數(shù)后,c=

55、5361。注意:局部源程序給出如下。請勿改動主函數(shù)main和其他函數(shù)中的任何內容,僅在函數(shù)fun的花括號中填入所編寫的假設干語句。試題程序:-*/#include #include void fun(int a , int b, long *c) /*Program*/ /* End */void main() FILE *wf; int a, b; long c; system(CLS); printf(Input a, b;); scanf(%d%d, &a, &b); fun(a, b, &c); printf(The result is:%ldn, c); wf=fopen(out.t

56、*t, w); fun(16, 35, &c); fprintf(wf, %ld, c); fclose(wf);答案: *c = (b % 10 * 1000 + (b / 10) * 100 + ( a % 10) * 10 + a / 10);第27題10.0分題號:342 難度:中第2章/*-【程序設計】-功能:在鍵盤上輸入一個3行3列矩陣的各個元素的值值為整數(shù),然后輸出矩陣第一行與第三行元素之和,并在fun()函數(shù)中輸出。-*/#include void wwjt(); void fun(int a33) /*Program*/ /* End */main() int i,j,s,a

57、33; for(i=0;i3;i+) for(j=0;j3;j+) scanf(%d,&aij); s=fun(a); printf(Sum=%dn,s); wwjt();void wwjt() FILE *IN,*OUT; int m; int n; int i33; int o; IN=fopen(in.dat,r); if(IN=NULL) printf(Read FILE Error); OUT=fopen(out.dat,w); if(OUT=NULL) printf(Write FILE Error); for(m=0;m3;m+) for(n=0;n3;n+) fscanf(IN

58、,%d,&imn); o=fun(i); fprintf(OUT,%dn,o); getch(); fclose(IN); fclose(OUT);答案:-int sum;int i,j;sum=0;for(i=0;i3;i+=2)for(j=0;j3;j+) sum=sum+aij; return sum;-第28題10.0分題號:374 難度:易第2章/*-【程序設計】-功能:編寫函數(shù)實現(xiàn)兩個數(shù)據的交換,在主函數(shù)中輸入任意三個數(shù)據,調用函數(shù)對這三個數(shù)據從大到小排序。-*/#includevoid wwjt(); void swap(int *a,int *b) /*Program*/ /*

59、 End */main() int *,y,z; scanf(%d%d%d,&*,&y,&z); if(*y)swap(&*,&y); if(*z)swap(&*,&z); if(yz)swap(&y,&z); printf(%3d%3d%3d,*,y,z); wwjt();void wwjt() FILE *IN,*OUT; int m,n; int i2; IN=fopen(in.dat,r); if(IN=NULL) printf(Read FILE Error); OUT=fopen(out.dat,w); if(OUT=NULL) printf(Write FILE Error);

60、for(n=0;n3;n+) for(m=0;m2;m+) fscanf(IN,%d,&im); swap(&i0,&i1); fprintf(OUT,%dn,i0); fprintf(OUT,%dn,i1); fclose(IN); fclose(OUT);答案:-int k; k=*a; *a=*b; *b=k;-第29題10.0分題號:323 難度:易第2章/*-【程序設計】-功能:求1到w之間的奇數(shù)之和。w是大于等于100小于等于1000的整數(shù)-*/#include #includeconio.hvoid wwjt(); long fun(int w) /*Program*/ /* E

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論