程序填空题资料_第1页
程序填空题资料_第2页
程序填空题资料_第3页
程序填空题资料_第4页
程序填空题资料_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、PAGE PAGE 55程序填空题1给定程序中,函数fun的功能是:求出形参ss所指字符串数组中最长字符串的长度,其余字符串左边用字符*补齐,使其与最长的字符串等长。字符串数组中共有M个字符串,且串长N。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。#define M 5#define N 20void fun(char (*ss)N) int i, j, k=0, n, m, len; for(i=0; in) /*found*/ n=len; _kk_=i; /kk for(i=0; i=0; j-) /len s

2、sim-=ssij; for(j=0; jn-len; j+)/*found*/ _ssij_=*; /ssij main()char ssMN=shanghai,guangzhou,beijing,tianjing,cchongqing; int i;printf(The original strings are :n);for(i=0; iM; i+) printf(%sn,ssi);printf(n); fun(ss);printf(nThe result:n); for(i=0; iM; i+)printf(%sn,ssi);2. 给定程序中,函数fun的功能是:求ss所指字符串数组中

3、长度最长的字符串所在的行下标,作为函数值返回,并把其串长放在形参n所指变量中。ss所指字符串数组中共有M个字符串,且串长N。#define M 5#define N 20/*found*/int fun(char (*ss) _N_, int *n) /N int i, k=0, len=0; for(i=0; i*n) /*found*/ _n=len_; /*n=len k=i; return(k);main() char ssMN=shanghai,guangzhou,beijing,tianjing,cchongqing; int n,k,i; printf(nThe string a

4、re :n); for(i=0;iM;i+)puts(ssi); k=fun(ss,&n); printf(nThe leng longest string is : %dn,n);printf(nThe longest string is : %sn,ssk);3函数fun的功能是:把形参a所指数组中最大值放在a0中,接着求出a所指数组中最小值放在a1中;再把a所指数组元素中的次大值放在a2中,把a数组元素中次小值放在a3中;其余依次类推。例如:若a所指数组中的数组最初排列为:1、4、2、3、9、6、5、8、7,则按规则移动后,数据排列为:9、1、8、2、7、3、6、4、5.形参n中存放a所

5、指数组中数据的个数。#define N 9/*found*/void fun(int _a_, int n) /*a int i, j, max, min, px, pn, t;/*found*/ for (i=0; in-1; i+=_2_) /2 max = min = ai; px = pn = i;/*found*/ for (j=_i+1_; jn; j+) /i+1 if (max aj) min = aj; pn = j; if (px != i) t = ai; ai = max; apx = t; if (pn = i) pn= px; if (pn != i+1) t =

6、ai+1; ai+1 = min; apn = t; main() int bN=1,4,2,3,9,6,5,8,7, i; printf(nThe original data :n); for (i=0; iN; i+) printf(%4d , bi); printf(n);fun(b, N);printf(nThe data after moving :n);for (i=0; iN; i+)printf(%4d , bi); printf(n);4. (7)给定程序的功能是:调用函数fun将指定源文件中的内容复制到指定的目标文件中,复制成功时函数返回值为1,失败时返回值为0。在复制过程

7、中,把复制的内容输出到终端屏幕.主函数中源文件中入在变量sfname k ,目标文件名放在变量tfname中。int fun(char *source, char *target) FILE *fs,*ft; char ch;/*found*/ if(fs=fopen(source, _r_)=NULL) /”r return 0; if(ft=fopen(target, w)=NULL) return 0; printf(nThe data in file :n); ch=fgetc(fs);/*found*/ while(!feof(_fs_) / fs putchar( ch );/*f

8、ound*/ fputc(ch,_ft_); /ft ch=fgetc(fs); fclose(fs); fclose(ft); printf(nn); return 1;main()char sfname20 =myfile1,tfname20=myfile2; FILE *myf; int i; char c; myf=fopen(sfname,w); printf(nThe original data :n); for(i=1; i30; i+)c=A+rand()%25;fprintf(myf,%c,c);printf(%c,c); fclose(myf);printf(nn); if

9、 (fun(sfname, tfname) printf(Succeed!); else printf(Fail!);5. 用筛选法可得到2n(n10000)之间的所有素数,方法是:首先从素数2开始,将所有2的倍数的数从数表中删去(把数表中相应位置的值置成0);接着从数表中找下一个非0数,并从数表中删去该数的所表倍数;依次类推,直到所找的下一个数等于n为止。这样会得一个序列:2,3,5,7,11,13,17,19,23函数fun用筛选法找出所有小于等于n的素数,并统计素数的个数作为函数值返回。int fun(int n) int a10000, i,j, count=0; for (i=2;

10、i=n; i+) ai = i; i = 2; while (in) /*found*/ for (j=ai*2; j=n; j+=_ai _) aj = 0; i+;/*found*/ while (_ai_=0) i+; printf(The prime num between 2 to %dn, n); for (i=2; ib) ? (bc? b :(ac?c:_a_) : (ac)?_a_ : (bc)?c:_b_); return t;main() int a1=3, a2=5, a3=4, r;r = fun(a1, a2, a3); printf(nThe middle num

11、ber is : %dn, r); 第一空:a 第二空:a 第三空:b7. 函数fun的功能是:计算直到。若x=2.5,函数值为:12.182494。double fun(double x) double f, t; int n;/*found*/ f = 1.0+_x_; t = x; n = 1; do n+;/*found*/ t *= x/_n_;/*found*/ f += _t_; while (fabs(t) = 1e-6); return f;main() double x, y; x=2.5; y = fun(x); printf(nThe result is :n); pr

12、intf(x=%-12.6f y=%-12.6f n, x, y);第一空:x 第二空:n 第三空:t8. 给定程序中,函数fun的功能是:对形参ss所指字符串数组中的M个字符串按长度由短到长进行排序。ss所指字符串数组中共有M个字符串,且串长N。#define M 5#define N 20void fun(char (*ss)N) int i, j, k, nM; char tN; for(i=0; iM; i+) ni=strlen(ssi); for(i=0; iM-1; i+) k=i;/*found*/ for(j=_i+1_; jnj) _k=j_; if(k!=i) strcp

13、y(t,ssi); strcpy(ssi,ssk);/*found*/ strcpy(ssk,_t_); nk=ni; main() char ssMN=shanghai,guangzhou,beijing,tianjing,cchongqing; int i; printf(nThe strings are :n); for(i=0; iM; i+) printf(%sn,ssi); printf(n); fun(ss); printf(nThe result :n); for(i=0; iM; i+) printf(%sn,ssi);第一空:i+1 第二空:k=j 第三空:t9. 函数fu

14、n的功能是:把形参a所指数组中的最小值放在元素a0中,接着把形参a所指数组中的最大值放在a1元素中;再把a所指数组元素中的次小值放在a2中,把a所指数组元素中的次大值放在a3;其余以此类推。例如:若a所指数组中的数据最初排列为:9、1、4、2、3、6、5、8、7;则按规则移动后,数据排列为:1、9、2、8、3、7、4、6、5。形参n中存放a所指数组中数据的个数。#define N 9void fun(int a, int n) int i,j, max, min, px, pn, t; for (i=0; in-1; i+=2) /*found*/ max = min = _ai_; px =

15、 pn = i; for (j=i+1; jn; j+) /*found*/ if (max_aj_) min = aj; pn = j; if (pn != i) t = ai; ai = min; apn = t; if (px = i) px =pn; if (px != i+1) t = ai+1; ai+1 = max; apx = t; main() int bN=9,1,4,2,3,6,5,8,7, i; printf(nThe original data :n); for (i=0; iN; i+) printf(%4d , bi); printf(n); fun(b, N);

16、 printf(nThe data after moving :n); for (i=0; iN; i+) printf(%4d , bi); printf(n);第一空:ai 第二空:aj 第三空:aj10. 给定程序中,函数fun的功能是:将形参std所指结构体数组中年龄最大者的数据作为函数值返回,并在main函数中输出。typedef struct char name10; int age;STD;STD fun(STD std, int n) STD max; int i;/*found*/ max= _*std_; for(i=1; in; i+)/*found*/ if(max.a

17、ge=0 & si=9)/*found*/ t2j=si; _j+_; else t1k+=si; t2j=0; t1k=0;/*found*/ for(i=0; ik; i+) _si=t1i_;/*found*/ for(i=0; i_j_; i+) sk+i=t2i;main() char s80=ba3a54j7sd567sdffs; printf(nThe string is : %sn,s); fun(s); printf(nThe result is : %sn,s);第一空:j+; 第二空:si=t1i;第三空:j12. 函数fun的功能是:把形参a所指数组中的奇数原顺序依次放

18、到a0、a1、a2、中,把偶数从数组中删除,奇数个数通过函数值返回。例如:若a所指数组中数据最初排列为:9、1、4、2、3、6、5、8、7,删除偶数后a所指数组中数据为:9、1、3、5、7,返回值为5。#define N 9int fun(int a, int n) int i,j; j = 0; for (i=0; in; i+)/*found*/ if (ai%2=_1_)/*found*/ aj = ai; _j+_; /*found*/ return _j_;main() int bN=9,1,4,2,3,6,5,8,7, i, n; printf(nThe original data

19、 :n); for (i=0; iN; i+) printf(%4d , bi); printf(n); n = fun(b, N); printf(nThe number of odd : %d n, n); printf(nThe odd number :n); for (i=0; in; i+) printf(%4d , bi);printf(n);第一空:1 第二空:j+ 第三空j 13. 给定程序中,函数fun的功能是:对形参s所指字符串下标为奇数的字符按ASCII码大小递增排序,并将排序后下标为奇数的字符取出,存入形参p所指字符数组中,形成一个新串。例如,形参s所指的字符串为:ba

20、awrskjghzlicda,执行后p所指字符数组中的字符串应为:aachjlsw。void fun(char *s, char *p) int i, j, n, x, t; n=0; for(i=0; si!=0; i+) n+; for(i=1; in-2; i=i+2) /*found*/ _t=i_;/*found*/ for(j=_i_+2 ; jsj) t=j; if(t!=i) x=si; si=st; st=x; for(i=1,j=0; idata=_x_; q=h; p=h-next; while(p!=NULL & xp-data) /*found*/ q=_p_; p=

21、p-next; s-next=p;/*found*/ q-next=_s_;SLIST *creatlist(int *a) SLIST *h,*p,*q; int i; h=p=(SLIST *)malloc(sizeof(SLIST); for(i=0; idata=ai; p-next=q; p=q; p-next=0; return h;void outlist(SLIST *h) SLIST *p; p=h-next; if (p=NULL) printf(nThe list is NULL!n); else printf(nHead); doprintf(-%d,p-data);p

22、=p-next; while(p!=NULL); printf(-Endn); main() SLIST *head; int x; int aN=11,12,15,18,19,22,25,29; head=creatlist(a); printf(nThe list before inserting:n); outlist(head); printf(nEnter a number : ); scanf(%d,&x); fun(head,x); printf(nThe list after inserting:n); outlist(head);第一空:x 第二空:p 第三空:s17. (4

23、)给定程序的功能是:调用函数fun将指定源文件中的内容复制到指定的目标文件中,复制成功时函数返回值为1,失败时返回值为0。在复制过程中,把复制的内容输出到终端屏幕。主函数中源文件名放在变量sfname中,目标文件名放在变量tfname中。int fun(char *source, char *target) FILE *fs,*ft; char ch;/*found*/ if(fs=fopen(source, _r_)=NULL) return 0; if(ft=fopen(target, w)=NULL) return 0; printf(nThe data in file :n); ch=

24、fgetc(fs);/*found*/ while(!feof(_fs_) putchar( ch );/*found*/ fputc(ch,_ft_); ch=fgetc(fs); fclose(fs); fclose(ft); printf(nn); return 1;main() char sfname20 =myfile1,tfname20=myfile2; FILE *myf; int i; char c; myf=fopen(sfname,w); printf(nThe original data :n); for(i=1; i30; i+)c=A+rand()%25;fprint

25、f(myf,%c,c); printf(%c,c); fclose(myf);printf(nn); if (fun(sfname, tfname) printf(Succeed!); else printf(Fail!);第一空: “r” 第二空:fs 第三空:ft18. 给定程序中,函数fun的功能是:读自然数110以及它们的平方根写到名为myfile3.txt的文本文件中,然后再顺序读出显示在屏幕上。int fun(char *fname ) FILE *fp; int i,n; float x; if(fp=fopen(fname, w)=NULL) return 0; for(i=1

26、;i=10;i+)/*found*/ fprintf(_fp_,%d %fn,i,sqrt(double)i); printf(nSucceed!n);/*found*/ _fclose(fp)_; printf(nThe data in file :n);/*found*/ if(fp=fopen(_fname_,r)=NULL) return 0; fscanf(fp,%d%f,&n,&x); while(!feof(fp)printf(%d %fn,n,x); fscanf(fp,%d%f,&n,&x); fclose(fp); return 1;main() char fname=my

27、file3.txt; fun(fname);第一空:fp 第二空:fclose(fp) 第三空:fname19. 给定程序的功能是:从键盘输入若干行文本(每行不超过80个字符),写到文件myfile4.txt中,用-1作为字符串输入结束的标志。然后将文件的内容读出显示在屏幕上。文件的读写分别由自定义函数ReadText和WriteText实现。void WriteText(FILE *);void ReadText(FILE *);main() FILE *fp; if(fp=fopen(myfile4.txt,w)=NULL) printf( open fail!n); exit(0); W

28、riteText(fp); fclose(fp); if(fp=fopen(myfile4.txt,r)=NULL) printf( open fail!n); exit(0); ReadText(fp); fclose(fp);/*found*/void WriteText(FILE _*fw_) char str81; printf(nEnter string with -1 to end :n); gets(str); while(strcmp(str,-1)!=0) /*found*/ fputs(_str_,fw); fputs(n,fw); gets(str); void Read

29、Text(FILE *fr) char str81; printf(nRead file and output to screen :n); fgets(str,81,fr); while( !feof(fr) ) /*found*/ printf(%s,_str_); fgets(str,81,fr); 第一空:*fw 第二空:str 第三空:str20. 给定程序的功能是:调用fun函数建立班级通讯录。通讯录中记录每个学生的编号、姓名和电话号码。班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到myfile5.dbf的二进制文件中。#define N 5typedef str

30、uct int num; char name10; char tel10;STYPE;void check();/*found*/int fun(_STYPE_ *std)/*found*/ _FILE_ *fp; int i; if(fp=fopen(myfile5.dat,wb)=NULL) return(0); printf(nOutput data to file !n); for(i=0; iN; i+)/*found*/fwrite(&stdi, sizeof(STYPE), 1, _fp_); fclose(fp); return (1);main() STYPE s10= 1,

31、aaaaa,111111,2,bbbbb,222222,3,ccccc,333333, 4,ddddd,444444,5,eeeee,555555; int k; k=fun(s); if (k=1) printf(Succeed!); check(); else printf(Fail!);void check() FILE *fp; int i; STYPE s10; if(fp=fopen(myfile5.dat,rb)=NULL) printf(Fail !n); exit(0); printf(nRead file and output to screen :n); printf(n

32、 num name teln); for(i=0; iN; i+) fread(&si,sizeof(STYPE),1, fp);printf(%6d %s %sn,si.num,,si.tel); fclose(fp);第一空:STYPE 第二空:FILE 第三空:fp21. 给定程序的功能是用冒泡法对6个字符进行排序#include #define MAXLINE 20fun ( char *pstr6) int i, j ;char *p ; for (i = 0 ; i 5 ; i+ ) for (j = i + 1; j 0) p = *(pstr + i) ;/*fo

33、und*/ pstri = _*(pstr+j)_ ;/*found*/ *(pstr + j) = _p_ ; main( ) int i ; char *pstr6, str6MAXLINE ; for(i = 0; i 6 ; i+) pstri = stri ;printf( nEnter 6 str(1 str at each line): n ) ;for(i = 0 ; i 6 ; i+) scanf(%s, pstri) ; fun(pstr) ; printf(The strings after sorting:n) ;for(i = 0 ; i 6 ; i+) printf

34、(%sn, pstri) ;第一空:*(pstr+j)或pstrj第二空:*(pstr+j)或pstrj第三空:p22.给定程序的功能是将十进制整数m转换成k进制(2k9)数的数字输出。例如,如果输入8和2,则应该输出1000。#include void fun( int m, int k ) int aa20, i; for( i = 0; m; i+ ) /*found*/ aai = _m%k_;/*found*/ m /= _k_; for( ; i; i- )/*found*/ printf( %d, _aa_ i-1 );main() int b, n;printf( nPleas

35、e enter a number and a base:n ); scanf( %d %d, &n, &b ); fun( n, b );第一空;m%k 第二空:k 第三空:aa23.给定程序的功能是将未在字符串s中出现、而在字符串t中出现的字符,形成一个新的字符串放在u中,u中字符按原字符串中字符顺序排列,但是去掉重复字符。例如:当s=”12345”,t=”24677”,u中的字符为”67”#include #include void fun (char *s, char *t, char *u) int i, j, sl, tl, k, ul=0; sl = strlen(s); tl =

36、 strlen(t); for (i=0; itl; i+) for (j=0; j=sl) for (k=0; k=ul)/*found*/ uul+ = _ti_ ; /*found*/ _uul_=0;main() char s100, t100, u100;printf(nPlease enter string s:);scanf(%s, s);printf(nPlease enter string t:);scanf(%s, t); fun(s, t, u); printf(The result is: %sn, u);第一空:break 第二空:ti 第三空:uul24.给定程序的

37、功能是将在字符串s中出现、而未在字符串t中出现的字符形成一个新的字符串放在u中,u中字符按原字符串中字符顺序排列,不去掉重复字符。例如:当s=”112345”,t=”2467”时,u中的字符串为”1135”。#include #include void fun (char *s,char *t, char *u) int i, j, sl, tl; sl = strlen(s); tl = strlen(t); for (i=0; isl; i+) for (j=0; j=tl)/*found*/ *u+ = _si_; /*found*/ _*u_ = 0;main() char s100,

38、 t100, u100;printf(nPlease enter string s:); scanf(%s, s);printf(nPlease enter string t:); scanf(%s, t); fun(s, t, u); printf(the result is: %sn, u);第一空:break 第二空:si 第三空:*u25.给定程序的功能是将在字符串s中下标为奇数位置上的字符,紧随其后重复出现一次,放在一个新串t中,t中字符按原字符串中字符出现的逆序排列(注意0为偶数)。例如:当s=”23516”,t=”1133”。#include #include void fun

39、(char *s, char *t) int i, j, sl; sl = strlen(s);/*found*/ if(sl%2) sl-=2; _else_ sl-;/*found*/ for (i=sl, j=_0_; i=0; i-=2) t2*j = si;/*found*/ t2*j +1 = _si_ ; j+; t2*j=0;main() char s100, t100; printf(nPlease enter string s:); scanf(%s, s); fun(s, t); printf(The result is: %sn, t);第一空:else 第二空:0 第

40、三空:si或t2*j26.给定程序的功能是将大写字母转换对应的小写字母的第五个字母;若小写字母vz,使小写字母的值减去21。转换后的小写字母作为函数值返回。例如,若形参使字母A,则转换为小写字母f;若形参为字母W,则转换为小写字母b。#include #include char fun(char c) if( c=A & c=a & c=v&c0f(x)= 0 x=0或x=2(x-1)/(x-2) x0#include #include float f( double x) if (x = 0.0 | x = 2.0)/*found*/ return _0_; else if (x 0.0)

41、return (x -1)/(x-2); else return (x +1)/(x-2);double fun( int n ) int i; double s=0.0, y;/*found*/ for (i= -n; i=_n_; i+) y=f(1.0*i); s += y;/*found*/ return _s_;main ( ) printf(%fn, fun(5) );第一空: 0 第二空:n 第三空:s28.给定程序的功能是求二分之一的圆面积,函数通过形参得到圆的半径,函数返回二分之一的圆面积。例如输入圆的半径值为:19.527输入为:s=598.950017。#include

42、float fun ( float r )/*found*/ return 3.14159 * _r*r_ /2.0;main ( )/*found*/ _float_ x; printf ( Enter x: );/*found*/ scanf ( %f, _&x_ ); printf ( s = %fn , fun ( x ) );第一空:r*r 第二空:float 第三空:&x29.给定程序的功能是将既在字符串s中出现、又在字符串t中出现的字符形成一个新字符串放在u中,u中字符按原字符串中字符顺序排列,但去掉重复字符。例如:当s=”42562”,t=”34”,u中的字符串为:”5”。#i

43、nclude #include void fun (char *s, char *t, char *u) int i, j, sl, tl, k, ul=0; sl = strlen(s); tl = strlen(t); for (i=0; isl; i+) for (j=0; jtl; j+) if (si = tj) break; if(jtl) for (k=0; k=ul)/*found*/ uul+=_si_ ; /*found*/ _uul_ = 0;main() char s100, t100, u100;printf(nPlease enter string s:); sca

44、nf(%s, s);printf(nPlease enter string t:); scanf(%s, t);fun(s, t, u);printf(The result is: %sn, u);第一空:= 第二空:si 第三空:uul30.给定程序的功能是从字符串s尾部开始,按逆序把相邻的两个字符交换位置,并一次把每个字符紧随其后重复出现一次,放在一个新串t中。例如:当s中的字符串为:“12345”时,则t中的字符串应为:“4455223311”。#include #include void fun (char *s, char *t) int i, j, sl;/*found*/ sl

45、= _strlen(s)_; for (i=sl-1, j=0; i=0; i-=2) if (i-1 = 0) tj+ = si-1; if (i-1 = 0) tj+ = si-1; tj+ = si; tj+ = si; /*forund*/ _tj=0_;main() char s100, t100; printf(nPlease enter string s:);/*found*/ scanf(%s, _s_); fun(s, t); printf(The result is: %sn, t);第一空:strlen(s) 第二空:tj=0第三空: s31给定程序的功能是将仅在字符串s

46、中出现而不在字符中t中出现的字符,和仅在字符串t中出现而不在字符串s中出现的字符,构成一个新字符串放在u中,u中的字符按原字符串s中字符顺序排列,不去掉重复字符。例如:当s中字符串为:“112345”时,t=“24677”时,u中的字符串应为:“1135677”。#include #include void fun (char *s, char *t, char *u) int i, j, sl, tl; sl = strlen(s); tl = strlen(t); for (i=0; isl; i+) for (j=0; jtl; j+) if (si = tj) break;/*foun

47、d*/ if (j _1_ tl) *u+ = si; for (i=0; itl; i+) for (j=0; jsl; j+) if (ti = sj) break;/*found*/ if (j _2_ sl) *u+ = ti; /*found*/ _3_ = 0;main() char s100, t100, u100;printf(nPlease enter string s:); scanf(%s, s);printf(nPlease enter string t:); scanf(%s, t); fun(s, t, u); printf(The result is: %sn,

48、u);第一空:= 第二空:= 第三空:*u32.给定程序的功能是将在字符串s中出现、而未在字符串t中出现的字符,构成一个新的字符串放在u中,u中字符按原字符串中字符顺序的逆序排列,不去掉重复字符。例如:当s中的字符串为:“112345”时,t=“24677”,u中的字符串应为:“5311”#include #include void fun (char *s, char *t, char *u) int i, j, sl, tl, ul; char r, *up=u; sl = strlen(s); tl = strlen(t); for (i=0; isl; i+) for (j=0; jt

49、l; j+)/*found*/ if (si = tj) _1_ ;/*found*/ if(j _2_ tl) *u+ = si; *u = 0; ul = strlen(up); for (i=0; iul/2; i+) /*found*/ r = _3_ ; upi = upul-1-i; upul-1-i = r; main() char s100, t100, u100;printf(nPlease enter string s:); scanf(%s, s);printf(nPlease enter string t:); scanf(%s, t); fun(s, t, u); p

50、rintf(The result is: %sn, u);第一空:break 第二空:= 第三空:upi33.给定程序的功能是计算并输入下列级数的前N项之和S(N),直到S(N+1)大于q为止,q的值通过形参传入例如:若q的值为50.0,则函数值为50.416687。#include double fun( double q ) int n; double s; n = 2; s = 2.0;/*found*/ while (s _1_ q) s=s+(double)(n+1)/n;/*found*/ _2_ ; printf(n=%dn,n);/*found*/ _3_ ;main ( )

51、printf(%fn, fun(50);第一空:= 第二空:n+; 第三空: return s34.给定程序的功能是求K!(K13),并通过函数名传回主函数。例如:若K=10,则应该输入:3628800 。#include long fun ( int k)/*found*/ if (k _1_ 0)/*found*/ return (k*fun(_2_);/*found*/ else if ( k _3_ 0 ) return 1L;main() int k = 10 ; printf(%d!=%ldn, k, fun ( k ) ;第一空: 第二空:k-1 第三空:=35.给定程序的功能是

52、读入一个整数K(2k10000),打印它的所有质因子(就是所有为素数的因子)。例如:若输入整数:3410,则应输出:2、5、11、13。#include IsPrime ( int n ) int i, m; m = 1; for ( i = 2; i n; i+ )/*found*/ if (!( n _1_ i ) /*found*/ m = 0; _2_ ; return ( m );main( ) int j, k;printf( nPlease enter an integer number between 2 and 10000: );/*found*/ scanf( %d, _3

53、_ );printf( The prime factor(s) of %d is( are ):, k ); for( j = 2; j = k; j+ ) if( ( !( k%j ) )&( IsPrime( j ) ) ) printf( n %4d, j ); printf(n);第一空:% 第二空:break 第三空:&k36.给定程序的功能是分别统计字符串中大写字母和小写字母的个数。#include void fun ( char *s, int *a, int *b ) while ( *s ) if ( *s = A & *s = a & *s = z )/*found*/ _

54、2_ ; s+; main( ) char s100; int upper = 0, lower = 0 ; printf( nPlease a string : ); gets ( s ); fun ( s, & upper, &lower );/*found*/printf( n upper = %d lower = %dn, _3_ );第一空: (*a)+ 第二空:(*b)+ 第三空:upper,lower37.给定程序的功能是判断字符ch是否与串str中的某个字符相同;若相同,什么也不做,若不同,则插在串的最后。#include #include void fun(char *str

55、, char ch ) while ( *str & *str != ch ) str+;/*found*/ if ( *str _1_ ch ) str 0 = ch;/*found*/ _2_ = 0; main( ) char s81, c ;printf( nPlease enter a string:n ); gets ( s );printf (n Please enter the char to search : ); c = getchar();/*found*/ fun(_3_) ; printf( nThe result is %sn, s);第一空:!= 第二空:*(st

56、r+1)或*(+str)第三空: s,c38给定程序的功能是根据形参m(2m9),在二维数组中存放一张m行m列的表格,由main()函数输出。例如:若输入 3则输出: 1 2 34 66 9#include #define M 10int aMM = 0 ;fun(int aM, int m) int j, k ; for (j = 0 ; j m ; j+ ) for (k = 0 ; k m ; k+ )/*found*/ _1_ = (k+1)*(j+1);main ( ) int i, j, n ; printf ( Enter n : ) ; scanf (%d, &n ) ;/*f

57、ound*/ fun ( _2_ ) ; for ( i = 0 ; i n ; i+) for (j = 0 ; j n ; j+)/*found*/ printf ( %4d, _3_ ) ; printf ( n ) ; 第一空:ajk 第二空:a,n 第三空:aij39.给定程序的功能是对a数组中n个人员的工资进行分段统计,各段的人数存到b数组中;工资为1000元以下的人数存到b0中, 工资为1000元到1999元的人数存到b1中, 工资为2000元到2999元的人数存到b2, 工资为3000元到3999元的人数存到b3, 工资为4000元到4999元的人数存到b4,工资为5000元以

58、上的人数存到b5中。例如,当a数组中的数据为:900、1800、2700、3800、5900、3300、2400、7500、3800,调用该函数后,b中存放的数据应是:1、1、2、3、0、2#include void fun(int a, int b, int n) int i;/*found*/ for (i=0; i6; i+) bi = _1_; for (i=0; i= 5000) b5+;/*found*/ _2_ bai/1000+;main() int i, a100= 900, 1800, 2700, 3800, 5900, 3300, 2400, 7500, 3800, b6

59、; fun(a, b, 9); printf(The result is: );/*found*/ for (i=0; i6; i+) printf(%d , _3_); printf(n);第一空:0 第二空:else 第三空:bi40.给定程序的功能是将n个人员的考试成绩进行分段统计,考试成绩放在a数组中,各分数段的人数存到b数组中:成绩为60到69的人数存到b0, 成绩为70到79的人数存到b1, 成绩为80到89的人数存到b2, 成绩为90到99的人数存到b3,成绩为100的人数存到b4,成绩为60分以下的人数存到b5中。例如,当a数组中的数据是:93、85、77、68、59、43、9

60、4、75、98。调用该函数后,b数组中存放的数据应是:1、2、1、3、0、2。#include void fun(int a, int b, int n) int i; for (i=0; i6; i+) bi = 0;/*found*/ for (i=0; i _1_; i+) if (ai 60) b5+;/*found*/ _2_ b(ai- 60)/10+;main() int i, a100= 93, 85, 77, 68, 59, 43, 94, 75, 98, b6;/*found*/ fun(_3_, 9); printf(the result is: ); for (i=0;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论