版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、下列给定程序中,国数仙的功营堤:计算如下公式»I : 5+1)(2")<10-3,并且把计算结果作为固数值返回。例如,若形裁亡的值加T则酗返回值为心址喩请在下画线处埴入正确的內容并将下画线删餘,使程序得岀正确 的结果°知注育:部分源程疼在tftBLANKl.C中0不得增行或删行,也不得更改程序的结构! |#in elude<stdio.h>double fun( doublee) int i, k; double s, t, x;s=0;k=1;i=2;*fo un d*x=_1_/4;*fo un d*while(x _2_ e) s=s+k*
2、x;k=k* (-1);t=2*i;*fo un d*x=_3_/(t*t); i+;return s;mai n() double e=1e-3;prin tf("nThe result is: %fn ",fu n(e);第一处答案:3.0第二处答案:>第三处答案:(2*i+1 )或者(t+1)上机改错题:下歹怡定程序中函数尬的功能是:求出如下分数序列的前皿页之和。和值通过函数值返回。2 3 5 8 13 21例如,若ti=h贝i|应输出8391667。请改正程序中的错误,使其得出正确的结果。注意:咅B分源程序在文件恥DI1.C中'不得増行或刪行,也不得更
3、改的程瘵的结构!#in clude <stdio.h>*fo un d*void fun ( int n ) int a, b, c, k; double s; s = 0.0; a = 2; b = 1;for ( k = 1; k <= n; k+ ) *fo un d*s = s + (Double)a / b;c = a; a = a + b; b = c;return s;mai n() int n = 5;prin tf( "nThe value offun ction is: %lfn", fun ( n );第一处改错:将:void fun
4、 ( int n )改为 double fun ( int n )第二处改错:s = s + (Double)a / b;改为 s = s + (double)a / b;第二套题 上机填空题下列给走程序中,函数血的功能是:计算如下公式前nJ页的和并作为凰数值返回。 1x3 3x5 5x7+(2xHl)x(2xn + l)例如,当形彗的值为1厲寸,函数返回值为9-61255Se请在下画线处壇入正确的內容并将下画线删除,使程序得出正确的结果° 注意:部分源程序在文件BLANK1. C中.不得増行或删行,也不得更改程序的结构!#in clude<stdio.h>double
5、fun (i ntn) int i;double s, t;/*fo un d*/s=/*fo un d*/for(i=1; i<=_2_; i+) t=2.0*i;/*fo un d*/s=s+(2.0*i-1)*(2.0*i+1)/_3_;return s;mai n() int n=-1;while( *0) printf("Please input(n>0): "); scanf("%d",&n);printf("nThe result is: %fn",fun(n);第一处空答案:0第一处空答案:n第三处
6、空答案:(t*t) 改错题下列给定程序中函数的功能是:统计和b沱所指的子符串在証所指的字符串中出现的次数。 例如;若字符串为船戲lkaas,子字符串为厉,则应输出h请改正程序中的错误,使它能得出正确的结果。注意:部分源程序在文件M0DI1. C中不得増行或删行,也不得更改的程序的结构!#in elude <stdio.h>int fun (char *str,char *substr) int i,j,k,num=0;*fo un d*for(i = 0, stri, i+)for(j=i,k=0;substrk=strj;k+,j+)*fo un d*lf(substrk+1=&
7、#39;0') nu m+; break;return num; mai n()char str80,substr80; printf("Input a string:");gets(str);prin tf("I nput a substri ng:");gets(substr);prin tf("%dn",fu n(str,substr);第一处错误:for(i = 0, stri, i+)改为 for(i = 0; stri;i+)第二处错误:If(substrk+1='0') 改为 if(substrk
8、+1='0') 即是将 ”f”改为” if” 第三套题填空题给定程序中,函数血的功能是:统计形参5所指的字符串中数字字符出现的次数,并存放在形参所指的变量中最后在 主酬中输岀。例如,若形參所指的字符串为Fbcdef血dg哄sdfT,贝端岀绪果为乳请在下画线处填入正确内容并将下画线删除,使程序得出正确的结果0注意:部分源程序在文件BLANKLC中。不得増行或跚行也不得更改程序的结构!#in elude<stdio.h>void fun( char*s, int *t) int i, n;n=0;*fo un d*for(i=0; _1_ !=0; i+)*fo un
9、d*if(si>='0'&&si<=2) n+;*fo un d*3;main () char s80="abcdef35adgh3kjsdf7"int t;printf("nThe original string is :%sn",s);fun(s,& t);prin tf("nThe result is :%dn",t);第一空:si第二空:''第三空:*t=n改错题:下列给定程序中函数的功能是:实现两个变量值的交换,规定不允许増加语句和表达式。 例如,变量z中的
10、值原为S, b中的值原为3,程序运行后3中的值为毎b中的值为肌 请改正程序中的错误,使它得出正确的结果。注意:部分沥程序在文件MODIkC中,不得増行或删行,也不得更改程序的结构!#in elude <stdio.h> int fun (i nt *x,i nt y)int t ;*fo un d*fo un d*return(y); main ()int a = 3, b = 8 ;printf("%d%dn", a, b);b = fun(&a, b);prin tf("%d%dn", a, b);第一处改错:将 第二处改错:将
11、第四套题:t = x ; x = y 改为 t=*x;*x=y; return(y)改为 return(t)填空题下列给定程序中,函数血的功能启把形埶所指数组中的奇数原顺库依次存放到邨 打小垃h中,把偶数 从数组中删除,奇数个数通过函数值返回。例如:若;1所指数组中的数据最初排列为:9. h冬2、3、队5、8. 7,刪除f黝后亦指数组中的数据为:久1, 3、 乂 1,返回值为5。请在下画线处埴入正确的内容并将下画线刪除,使程序得出正确的结果。注意:部分源程序在文件BLAMK1.C中。不得増行或删亿也不得更改程序的结构!#in elude <stdio.h>#defi ne N 9i
12、nt fun (i nta, int n) int i,j;j = 0;for (i=0; i<n; i+)*fo un d*if (ai%2=_1_) *fo un d*aj = ai; 2*fo un d*return3;main () int bN=9,1,4,2,3,6,5,8,7, i, n;prin tf("nThe origi nal data:n");for (i=0; i<N; i+)prin tf("%4d ", bi);prin tf("n");n = fun(b, N);prin tf("
13、nThe nu mber of odd : %d n", n);prin tf("nThe odd nu mber:n ”);for (i=0; i< n; i+) prin tf("%4d ", bi); prin tf("n");第一处1第二处:j+ 第三处: j改错题下列给定程序中函数血1的功能罡:求两个非零正整数的最大公纽数并作为函数値返回。例如,若!umil和nuE分另佚49和21*则输出的最大公约数为?;若nuM和帅曲分另优27和31则输出的最大公约数为 27 &请改正程序中的错误,使它能得岀正确结果。注意;
14、咅吩源程序在文件恥皿工中,不得増行或删行,也不得更改程序的结构。#in elude <stdio.h> int fun (i nt a,i nt b) int r,t;if(a<b) *fo un d*t=a; b=a; a=t;r=a%b;while(r!=O) a=b; b=r; r=a%b; *fo un d*return(a);main () int nu m1, nu m2,a;prin tf("I nputnum1 num2:"); scan f("%d%d",&nu m1,&n um2);printf(&q
15、uot;num仁 %dnu m2= %dnn", nu m1, nu m2);a=fu n(nu m1, nu m2);prin tf("The maxim un com mon divisor is %dnn",a);第一处错误: t=a; b=a; a=t; 改为 t=a; a=b; b=t;第二处错误:return(a)改为 return b 或者 return(b);求最大公约数算法一般采用辗转相除法。辗转相除法的算法为:首先将m除以n(m>n)得余数r,再用余数r去除原来的除数,得到新的余数,重复此过程直到余数为0时停止,此时的除数就是 m和n的最
16、大公约数。第五套题:填空题:下列给定程序中,跚伽的功能是:将形參“中各位上为偶数的数取出,并按原来从髙位到低位相反的顺序组成一个 新数,ft为函数值返回。例如,输入一个整数27638456,函数返回值为64862.请在F画线处填入正确的内容并将下画线删除,使程序得出正确的结果。注意:部分源程序在文件BLANKLC中。不得増行或删行,也不得更改程序的结构! |#i nclude<stdio.h>un sig ned long fun(un sig ned longn) un sig ned long x=0; int t;while( n) t=n %10;*fo un d*if(t
17、%2=1)*fo un d*x=2+t;*fo un d*n=3;return x;main () un sig ned long n=-1;while( n>99999999| n<0) printf("Please input(O<n< 100000000):");scanf("%ld",&n);printf("nThe result is: %ldn",fun(n);第一空:0 第二空:x*10第三空:n/10改错题:下列给定程序中函数血的功能杲;将长整型数中各位上为奇数的数依次取出构成一个新数放
18、在沖。高位仍在高位, 低位仍在低位*例如,当咅中的数8765314311, t中的数为753k请改正程序中的错误,使它能得出正确的结果。注意:部分源程序在文Wn-C中,不得增行或刪行,也不得更改的程序的结构!#in clude <stdio.h>void fun (lo ngs, l ong *t) int d;long sl=1;*fo un d*t = 0;while ( s > 0) d = s%10;*fo un d*if (d%2 = 0) *t = d * sl + *t; sl *= 10;s /= 10;main () long s, t;prin tf(&q
19、uot;nPlease enter s:"); scan f("%ld", &s); fun (s, &t);prin tf("The result is: %ldn", t);第一处错误:将t=0改为*t=0;第二处错误:将 d%2 = 0改为d%2!=0第六套题:下列给定程序中,函数血的功能是;把形参所指数组中的最小值放在元素班0中,接看把債所指数组中的最大值放在日 1元素中再把m所指数组元素中的次小值放在吐2冲,把岂所指数组元素中的次大值放在屮,如啖推例如,若癫指数组中的数据最初扌的悦:9、1、4、2、氛6、5、8. 7;
20、则按规则移动后,数据排列为:12、氛 卜人4、0 5c形参n中存放2所指數组中数据的个数,规走伽函数中的ma希放当前所找的最大值的存放当前所找最大值的下标。请在下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。注意:部分源程序在文件BLANKL. C中o不得增行或删1亍,也不得更改程序的结构!# in clude<stdio.h> #defi ne N 9void fun (i nta, int n) int i,j, max, min, px, pn, t;for (i=0; i<n-1; i+=2)*fo un d*max = min =1px = pn = i
21、;for (j=i+1; j<n; j+) *fo un d*if (max<2) max = aj; px = j; *fo un d*if (min>3) min = aj; pn = j; if (pn != i) t = ai; ai = min; ap n = 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;prin tf("nThe origi nal data :n ”); for (i=0; i
22、<N; i+)printf("%4d ", bi);prin tf("n");fun (b, N);prin tf("nThe data after movi ng:n");for (i=0; i<N; i+)prin tf("%4d ", bi);prin tf("n");第一处空:ai;第二处空:aj第三处空:aj改错题:下列给定程序中函数眦的功能是:用递归算法计章斐般契数列中第顽的饥从第1项起,斐波濮数列切h U2、3, 5, S. 13、2kr蠢品几帀该项粮波拉契数值为戊请改
23、正程序中的解使它能得岀正确課 注嵐部分源程序在文件顾仇中环得増行或刪丘也不得更改程序的结构。#in clude <stdio.h>long fun (i ntg)*fo un d*switch(g); case 0: retur n 0;*fo un d*case 1 ;case 2 : retur n 1 ;return( fun( g-1)+fu n( g-2);main () long fib; int n;printf("Input n:"); scanf("%d",&n); printf("n = %dn"
24、;,n);fib=fu n(n);prin tf("fib = %dnn" ,fib);第一处错误:将switch(g);改为switch(g),即是去掉";”第二处错误:将case 1 ;case 2 : return 1 改为 case 1 : case 2 : return 1 ;即是将 case1 后";”改为":” 第七套题:填空题下列给定程沖函数MW猩进行数字字符转换。若形毀h中是数字字符 W 贝側转换删陀换 成化 乡转换成”八穹祷换成S若是其它字符则保持不变;并將转换后的绪果作为酬值返回。请在下画线处填入正确的内容并将下画线删除,
25、使程序得岀正确的諏注倉咅盼源稈序在文件BLABKLC中。不得壇彳亍或删行,也不得更改程库的结构!#in elude<stdio.h>*fo un d*1fun( char ch)*fo un d*if (ch>='0' && _2_)*fo un d*return9- (ch-3);return ch ;main () char c1, c2;:n");prin tf("nThe resultc1='2' c2 = fun( c1);prin tf("c1=%cc2=%c n", c1,
26、c2);c1='8: c2 = fun( c1);printf("c1=%cc2=%cn", c1, c2);c1='a' c2 = fun( c1);prin tf("c1=%cc2=%c n", c1, c2);第一空:char第二空:ch>='9'第三空:'O'改错题:下列给定程序中函数斷的功育猩:将P所指字符串中的所有字符复制到b中,要求每复制三个字符之后插入一个空格。 例若给踰入字符串:ABCDEFGKHUK,调用函数后,字符数组b中的內容为:ABC: DEF GHI JK°
27、; 请改正程序中的错误,使它能得出正确结果召注意:部分源程序在文件MODI1.C中,不得増行或删行,也不得更改程序的结构。#in clude <stdio.h> void fun( char *p, char *b) int i, k=0;while(*p) i=1;while( i<=3 && *p ) *fo un d*bk=p;k+; p+; i+; if(*P)*fo un d*bk+=" ”;bk='O:main () char a80,b80;prin tf("E nter a stri ng:"); gets
28、(a);prin tf("The origi nal stri ng: "); puts(a);fun( a,b);printf("nThe string after insert space:"); puts(b); printf("nn“);第一处:将 bk=p;改为 bk=*p;第二处:将 bk+=""改为 bk+='';第8套题填空题下列给定程序中,国数伽的功能是:求沾所指字符串数组中长度縣的字符串所在牺下标,作为酬值返回,并把其 串輝在形嘗嘶指的变量孔爾指字符串数组中共有个字符串,且串长小于汕情在下
29、刪处埴AIM的内容并将下画线鵬,使程库得岀IBS的绪果>注童:部分源程序在文件BLANKLC中。不得増行或删亍,也不得更改程序的齣#in clude<stdio.h>#in clude <stri ng.h>#defi neM5#defi neN20int fun (char(*ss)N, i nt *n) int i, k=0, le n= N;*fo un d*for(i=0; i<1; i+) len=strle n( ssi);if(i=0) *n=len;*fo un d*if(le n 2 *n) *n=len;k=i;*fo un d*retu
30、rn(3);main() char ssMN="shanghai","guangzhou","beijing","tianjing","chongqing" int n,k,i;printf("nThe original strings are :n"); for(i=0;i<M;i+)puts(ssi); k=fun(ss,&n);printf("nThe length of shortest string is :%dn",n);prin
31、tf("nThe shortest string is :%sn",ssk);第一空: M第二空: <第三空: K改错题:#include <stdio.h>#include <string.h> char* fun( char tt ) int i;for( i = 0; tti; i+ )*found*if( 'a' <= tti )|( tti <= 'z' ) )*found*tti += 32; return( tt );main( )char tt81;printf( "nPle
32、ase enter a string: " );gets( tt );printf( "nThe result string is:n%s", fun( tt ) ); 第一处错误:将“ | ”改为“ && ” 第二处错误 :将 tti += 32; 改为 tti -= 32;第 9 套题:填空题:下列给定程序中曲数血n的功能是:将s所指宇符串中的所有数字宇符移到所有非数宇宇符之后,并保持数字宇符串和 非数字宇符串捺有的次序。悅如呂所指的字符串为defSSadhSkJsdf?*;执行后结果为defadhajsdf35375 o请在程序的下画线处填入
33、正确的内容把下画线删臨使程序得岀正确的諏注意:咅盼源程序在文件BLANKLC中。不得増行或删行,也不得更改程序的结构!#in clude<stdio.h> void fun( char *s) int i, j=0, k=0; char t180, t280; for(i=0; si!='0: i+)if(si>='0' && si<=9)*fo un d*t2j=si; 1_else t1k+=si;t2j=0;t1k=0;*fo un d*for(i=0; i<k; i+)_2*fo un d*for(i=0; i<
34、;_3_; i+)sk+i=t2i; main () char s80="ba3a54j7sd567sdffs"printf("nThe original string is :%sn",s);fun( s);prin tf("nThe result is :%sn" ,s);第一处空:j+第二处空:ai=t1i;第三处空:j 改错题下列给定程序中函数血的功能是:用冒泡法对6个字符串进行升序排列, 请改正程序中的错误,使它能得岀正确的结果。注意:部分源程序在文件M0DI1.C中,不得増行或删行,也不得更改程序的结构!#i nclude
35、 <stdio.h>#in elude <stri ng.h>#defi ne MAXLINE 20fun ( char *pstr6) int i, j ; char *p ;for (i = 0 ; i < 5 ; i+ ) *fo un d*for (j = i + 1, j < 6, j+)if(strcmp(*(pstr + i), *(pstr + j) > 0)p = *(pstr + i);*fo un d*(pstr + i) = pstr + j ;*(pstr + j) = p ; mai n() int i ;char *pst
36、r6, str6MAXLINE;for(i = 0; i < 6 ; i+) pstri = stri;printf( "nEnter 6 string(1 string at each line): n");for(i = 0 ; i < 6 ; i+) scan f("%s", pstri);fun( pstr);prin tf("The stri ngs after sortin g:n");for(i = 0 ; i < 6 ; i+) prin tf("%sn", pstri);第一处错
37、误:for (j = i + 1, j < 6, j+)改为 for (j = i + 1;j < 6; j+)第二处错误: *(pstr + i) = pstr + j ;改为 *(pstr + i) = *(pstr + j);第10套题填空题下列给罡程序中已建立一个带头结点的单向链表,琏表中的各结点按结点数擔域中的数擔递増有序琏接。函数仙的功能 是:扌巴形裁x的值放入一个新结点并插入琏表中使插入后各结总数据域中的数振仍保持递増有序。请在下画线处填入正确的内容并将下画线删除,使程序得出正确的结果.注意:音吩源程序在文件BLANK1, C中&不得増行或删行,也不得更改程序
38、的结构!typedef struct list int data;struct list *n ext; SLIST;void fun( SLIST *h, int x) SLIST *p, *q, *s;s=(SLIST *)malloc(sizeof(SLIST);*found*s->data=_1_q=h;p=h->next;while(p!=NULL && x>p->data) *found*q=_2_ p=p->next;s->next=p;*found*q->next=_3_;SLIST *creatlist(int *a)
39、 SLIST *h,*p,*q; int i;h=p=(SLIST *)malloc(sizeof(SLIST);for(i=0; i<N; i+) q=(SLIST *)malloc(sizeof(SLIST); q->data=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");do pri
40、ntf("->%d",p->data); p=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",&
41、amp;x); fun(head,x);printf("nThe list after inserting:n"); outlist(head); 第一处空: x下列给定程序中函数血的功能是:计旦正整数口阿各位上的数字之积。 例如,若输入鮎乙则输出应该是加。若输入22,则输出应该是九 请改正程序中的错误,使它能得出正确的结果。注意:部分源程序在文件fflODIl. C中,不得増行或删行,也不得更改程库的结构!#in elude <stdio.h>long fun (long num) *fo un d*long k; do k*=n um%10 ;*fo un
42、d*num=10 ; while( num); return (k); mai n() long n ;prin tf("nPlease enter a number:") ; scan f("%ld", &n); prin tf("n%ldn",fun(n);第一处错误:将long k;改为:long k=1;第二处错误:将 num=10 ;改为num/=10 ;第11套题填空题下列给定程序中,函数firn的功能是:将形蔘/所指数组中的前半部分元素中的芍后半部耸元素中的值对撫。形参址中存 放数组中数据的个数,若n为奇数,则中
43、间的元素不动。例如:若逗所指数组中的数据为:1、2、人4C、人乳利则调换后为:认人乳9C 2、3、4.请在下画线处埴入正确的内容并将下画线删除,使程序得出正确的结果。注意:部分源程序在文件BLANK1.C中。不得増行或删行,也不得更改程序的结枸!#i nclude <stdio.h>#defi neN 9void fun (i nta, int n) int i, t, p;*fo un d*p = (n%2=0)?n/2:n/2+_1 for (i=0; i<n/2; i+)t=ai;*fo un d*ai = ap+2;*fo un d*3 = t;mai n() int
44、 bN=1,2,3,4,5,6,7,8,9, i;prin tf("nThe origi nal data:n");for (i=0; i<N; i+)prin tf("%4d ", bi);prin tf("n ”);fun (b, N);prin tf("nThe data after movi ng:n");for (i=0; i<N; i+)prin tf("%4d ", bi);prin tf("n ”);第一空:1第二空:i第三空:ap+i改错题:下列给定程序中函数ftm
45、的功能是=把从主函数中输入的3个数,最大的数放在X中,中间的数赦在b中,最小的数放在匸 中*他山若输入的数为:55 12 34,输出晞果应当是:b=340, c=12.0o请改正程序中的错误,使它能得出正确的结果。注竜:部分源程序在文件MODI1.C中,不要改动main函数,不得增行或删行,也不得更改程序的结构。#in clude <stdio.h>voidfun (float *a,float *b,float *c)*fo un d*float *k;if( *a<*b )k=*a; *a=*b; *b=k; *fo un d*if( *a>*c )k=*c; *c=*a; *a=k; if( *b<*c )k=*b; *b=*c; *c=k; mai n() float a,b,c;prin tf("l nput a b c: "); scan f("%f%f%f",&a,&b,& c);printf("a = %4.1f, b = %4.1f, c = %4.1fnn",a,b,c);fun(&
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 热塑管项目可行性研究报告
- 胸部放射技术培训课件
- 痔疮手术复原多久
- 2023-2024学年广东省深圳市罗湖区六年级上学期期末英语试卷
- 中班科学教案:蝉
- 大班语言活动教案:枫桥夜泊
- 脑梗护理诊断与措施
- 2.1作图练习(一)原卷版
- 秩序维护部培训方案
- 2023年辽宁省沈阳二中高考地理三模试卷
- 10以内加减法口算题(13套100道题-可直接打印)
- 企业中层管理人员绩效考核中存在的问题及对策
- 桩基检测静载试验培训教材ppt课件
- 婚礼主持人培训-_图文ppt课件
- 新教科版五年级上册科学期末试卷
- 汽车维修价格表格模板
- 第七章 行为修正模式
- 小猪吃的饱饱教案
- 部编版语文一年级上册教材解读.ppt
- 科学课程中的概念教学浅探
- 铝方通吊顶施工工艺
评论
0/150
提交评论