《二级c语言标准上机题库.pdf》由会员分享,可在线阅读,更多相关《二级c语言标准上机题库.pdf(283页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1.下列给定程序中,函数fun的功能是计算如下公式直 到,并且把计算结果作为函数值返回。例如,若形参e 的值为l e-3,则函数返回值为0.551690。请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。注意:部分源程序在文件BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include double fun(double e)int i,k;double s,t,x;s=0;k=l;i=2;/*found*/while(x _ 2 _ e)s=s+k*x;k=k*(-1);t=2*i;/*found*/X=_3_/(t*t);i+;)return s;)main()
2、double e=le-3;printf(MnThe result is:%fnH,fun(e);)【参考答案】(1)3.0 或(double)3(2)(3)(t+1)2,下列给定程序中,函数fun的功能是:计算如下公式前n 项的和并作为函数值返回。例如,当形参n 的值为10时,函数返回值为9.612558 0请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。注意:部分源程序在文件BLANK 1.C中。不得增行或删行,也不得更改程序的结构!#include double fun(int n)intdouble s,t;/不*found*不*/*found*/for(i=1;i=2
3、;i+)t=2.0*i;/*found*/s=s+(2.0*i-l)*(2.0*i+l)/_3_;return s;)main()int n=l;while(n0):);scanf(”d”,&n);printf(nThe result is:%fnM,fun(n);【参考答案】0(2)n(3)(t*t)3.给定程序中,函数fun的功能是:统计形参s 所指的字符串中数字字符出现的次数,并存放 在 形 参 t 所指的变量中,最后在主函数中输出。例 如,若 形 参 s 所指的字符串为abcdef35adgh3kjsdf7,则输出结果为 4。请在下划线处填入正确内容并将下划线删除,使程序得出正确的结果
4、。注意:部分源程序在文件BLANK1.C中。不得增行或删行,也不得更改程序的结构!#includevoid fun(char*s,int*t)int i,n;n=0;*found*/for(i=0;_1_!=0;i+)*found*/if(si=,O,&sli=2)n+;main()char s8O=abcdef35adgh3kjsdf7”;int t;printf(nnThe original string is:%sns);fun(s,&t);printf(nnThe result is:%dn,t);【参考答案】(l)sij(2)9(3)*t=n4.下列给定程序中,函数fun的功能是:把
5、形参a 所指数组中的奇数按原顺序依次存放到afO,al、a 2 J,中,把偶数从数组中删除,奇数个数通过函数值返回。例如:若 a 所指数组中的数据最初排列为:9,1、4、2、3、6、5、8、7,删除偶数后a 所指数组中的数据为:9、1、3、5、7,返回值为5。请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。注意:部分源程序在文件BLANK 1.C中。不得增行或删行,也不得更改程序的结构!#include#defineint fun(int int i,jj=0;N 9a,int n)for(i=0;in;i+)/*found*/if(ai%2=1)/*found*/aj=aij
6、;-2一;/*found*/return_3_;)main()int bN=9,l,4,2,3,6,5,8,7),i,n;printf(nnThe original data:n);for(i=0;ivN;i+)printf(%4d bi);printf(nnH);n=fun(b,N);printf(nnThe number of odd:%d n,n);printf(nnThe odd number:n);for(i=0;in;i+)printf(H%4d”,bi);printf(nnH);【参考答案】(1)1(2)j+(3)j5.下列给定程序中,函数fun的功能是:将形参n 中,各位上为偶
7、数的数取出,并按原来从高位到低位相反的顺序组成个新数,作为函数值返回.例如,输入一个整数27638496,函数返回值为64862。请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。注意:部分源程序在文件BLANK 1.C中。不得增行或删行,也不得更改程序的结构!#include unsigned long fun(unsigned long n)unsigned long x=0;int t;while(n)t=n%10;*found*/if(t%2=_1_)/*found*/x=2+t;n=3.return x;)main()unsigned long n=l;while(n9
8、9999999lln0)printf(nPlease input(0n 100000000):);scanf(%ld,&n);printf(nnThe result is:%ldn,fun(n);)【参考答案】(1)0(2)10*x(3)n/106.下列给定程序中,函数fun的功能是:把形参a 所指数组中的最小值放在元素a0中,接着把a 所指数组中的最大值放在al元素中;再把a 所指数组元素中的次小值放在a2中,把 a 所指数组元素中的次大值放在a 3,以此类推。例如,若 a 所指数组中的数据最初排列为:9、1、4、2、3、6、5、8、7;则按规则移动后,数据排列为:1、9、2、8、3、7、4
9、、6、5。形参n 中存放a 所指数组中数据的个数。规定fun函数中的max存放当前所找的最大值,px存放当前所找最大值的下标。请在卜划线处填入正确的内容并将下划线删除,使程序得出正确的结果。注意:部分源程序在文件BLANK1.C中。不得增行或删行,也不行更改程序的结构!#include#define N 9void fun(int a,int n)int i,j,max,min,px,pn,t;for(i=0;in-l;i+=2)*found*/max=min=_ 1_;px=pn=i;for(j=i+l;jn;j+)/*found*/if(max_3_)min=ajj;pn=j;if(pn!
10、=i)t=ai;ai=min;apn=t;if(px=i)px=pn;if(px!=i+1)t=ai+l;afi+1=max;apx=t;main()int bN=9,l,4,2,3,6,5,8,7,i;printf(nThe original data:nn);for(i=0;iN;i+)printf(,%4d=bi);printf(,nn);fun(b,N);printfCAnThe data after moving:n);for(i=0;iN;i+)printf(%4d,bi);printf(nnM);)【参考答案】(l)ai(2)aj(3)afj7.下列给定程序中,函数fun的功能是
11、进行数字字符转换。若形参c h 中是数字字符0-9,则将O转换成9,T 转换成8,2 转换成7,,9 转换成O;若是其它字符则保持不变;并将转换后的结果作为函数值返回。请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。注意:部分源程序在文件BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include/不*found*不*/_1_ fun(char ch)/*found*琴*/if(ch=,0,&-2-)/*found*/return 9-(ch-3一);return ch;main()char cl,c2;printf(MnThe result:n);cl=2;c2
12、=fun(cl);printf(cl=%c c2=%cnH,cl,c2);cl=8;c2=fun(cl);printfCc l=%c c2=%cn,c 1,c2);cl=a;c2=fun(cl);printf(Mcl=%c c2=%cn,cl,c2);【参考答案】(1)char(2)ch=9(3)08.下列给定程序中,函数fun的功能是:求 ss所指字符串数组中长度最短的字符串所在的行下标,作为函数值返回,并把其串长放在形参n 所指的变量中。ss所指字符串数组中共有M个字符串,且串长N。请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。注意:部分源程序在文件BLANK 1.C中。
13、不得增行或删行,也不得更改程序的结构!#include#include#define#defineM 5N 20int fun(char(*ss)N,int*n)int i,k=0,len=N;/*found*/for(i=0;i_ 1_;i+)len=strlen(ssi);if(i=0)*n=len;/*found*/if(len _2.*n=len;k=i;*n)/*found*/retum(_3_);)main()char ssMJN=,shanghai,guangzhou,beijingn,tianjing,nchongqingn;int n,k,i;printf(nnThe ori
14、ginal strings are:nM);for(i=0;iM;i+)puts(ssi);k=fun(ss,&n);printf(nnThe length of shortest string is:%dn,n);printf(nThe shortest string is:%sn,ssk);【参考答案】M(2)(3)k9.下列给定程序中,函数fun的功能是:将 s 所指字符串中的所有数字字符移到所有非数字字符之后,并保持数字字符串和非数字字符串原有的次序。例如,s 所指的字符串为def35adh3kjsdf7,执行后结果为defadhajsdf3537。请在程序的下划线处填入正确的内容把下
15、划线删除,使程序得出正确的结果。注意:部分源程序在文件BLANK 1.C中。不得增行或删行,也不得更改程序的结构!#include void fun(char*s)int i,j=0,k=0;char t280;for(i=0;si!=W;i+)if(si=,0&si=9,)/*found*/t2Ul=si;1;else tl|k+=si;t2j=0;tlk=O;/字不*fou nd*/for(i=0;ik;i+)_ 2 ;/*found*/for(i=0;i_3_;i+)sk+i=t2i;main()char s80=,ba3a54j7sd567sdffsn;printf(nnThe ori
16、ginal string is:%snr,s);fun(s);printf(nnThe result is:%sns);)【参考答案】(l)j+或 j+=l 或+或)可+1(2)si=tli(3)j1 0 下列给定程序中已建立一个带头结点的单向链表,链表中的各结点按结点数据域中的数据递增有序链接。函数fun的功能是:把形参x 的值放入一个新结点并插入链表中,使插入后各结点数据域中的数据仍保持递增有序。请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。注意:部分源程序在文件BLANK 1.C中。不得增行或删行,也不得更改程序的结构!#include#include#definety
17、pedefN 8struct list int data;struct list*next;SLIST;void fun(SLIST*h,int x)SLIST*p,*q,*s;s=(SLIST*)malIoc(sizeof(SLIST);/*found*/s-data=_1_;q=h;p=h-next;while(p!=NULL&xp-data)q=_2_;p=p-next;s-next=p;/*found*/q-next=_3_;)SLIST*creatlist(int*a)SLIST*h,*p,*q;int i;h=p=(SLIST*)malloc(sizeof(SLIST);for(i
18、=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(unThe list is NULL!nu);else printf(nnHeadn);do printf(-%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(nnThe list bef
19、ore inserting:n);outlist(head);printf(nEnter a number:);scanf(H%dM,&x);fun(head,x);printf(MnThe list after inserting:nn);outlist(head);)【参考答案】(1)X (2)p(3)s11.下列给定程序中,函数fun的功能是:将形参a 所指数组中的前半部分元素中的值与后半部分元素中的值对换。形参n 中存放数组中数据的个数,若 n 为奇数,则中间的元素不动。例如:若 a 所指数组中的数据为:1、2、3、4、5、6、7、8、9,则调换后为:6、7、8、9、5、1、2、3,4
20、。请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。注意:部分源程序在文件BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include#define N 9void fun(int a,int n)int i,t,p;/*字字*fou nd*孝*/p=(n%2=0)?n/2:n/2+_1_;for(i=0;in/2;i+)t=ai;/*found*/ai=ap+_2_;/*found*/3_=t;main()int bN=1,2,3,4,5,62,8,9,i;printf(nnThe original data:nu);for(i=0;iN;i+)printf(H%
21、4d,bi);printf(nnn);fun(b,N);printf(nnThe data after moving:nM);for(i=0;iN;i+)printf(%4d,bi);printf(nnM);)【参考答案】(1)1(2)i ap+i或*(a+p+i)12.下列给定程序中,函数fun的功能是:从形参ss所指字符串数组中,删除所有申长超过k 的字符串,函数返回剩余字符串的个数。ss所指字符串数组中共有N 个字符串,且串长小于 M。请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。注意:部分源程序在文件BLANK 1.C中。不得增行或删行,也不得更改程序的结构!#inc
22、lude#include#define N 5#define M 10int fun(char(*ss)MJ,int k)int i,j=0,len;/*found*琴 豕*/for(i=0;i _ 1_ ;i+)len=strlen(ssi);if(len=_ 2 _)/字 *fou nd*/strcpy(ssj4-+,_3_);)return j;)main()char xNM=,Beijing,MShanghaiVTianjingn,uNanjingV,Wuhann;int i,f;printf(nnThe original stringnnn);for(i=0;iN;i+)puts(x
23、iJ);printf(nnH);f=fun(x,7);printf(The string witch length is less than or equal to 7:nM);for(i=0;if;i+)puts(xi);printf(,n);)【参考答案】N(2)k ssi13.下列给定程序中,函数fun的功能是:把形参s 所指字符串中下标为奇数的字符右移到下一个奇数位置,最右边被移出字符串的字符绕回放到第一个奇数位置,卜标为偶数的字符不动(注:字符串的长度大于等于2)。例如,形参s 所指字符串为abcdefgh,执行结果为ahcbedgf。请在下划线处填入正确的内容并将下划线删除,使程序
24、得出正确的结果。注意:部分源程序在文件BLANK 1.C中。不得增行或删行,也不得更改程序的结构!#include void fun(char*s)int i,n,k;char c;n=0;for(i=0;si!=0;i+)n+;*found*/if(n%2=0)k=n-1;elsek=n-2;/*found*/c=_2_;for(i=k-2;i=l;i=i-2)si+2=si;/*found*/Sl=3;main()char s80=abcdefghn;printf(nnThe original string is:%snM,s);fun(s);printf(nnThe result is:
25、%snu,s);【参考答案】(1)1 sk或*(s+k)(3)c14.下列给定程序中,函数fun的功能是:在形参s s 所指字符串数组中查找与形参t 所指字符串相同的串,找到后返回该串在字符串数组中的位置(即下标值),若未找到则返回一1。ss所指字符串数组中共有N 个内容不同的字符串,且串长小于M.请在卜划线处填入正确的内容并将下划线删除,使程序得出正确的结果。注意:部分源程序在文件BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include#include#define#defineN 5M 8int fun(char(*ss)M,char*t)int i;/*found*/f
26、or(i=0;i _ 1;i+)/*found*/if(strcmp(ssi,t)=O)return _ 2;return-1;)main()char chNM=,7fV,while,switchn,intn,Hfor,tM;int n,i;printf(nnThe original stringnnM);for(i=0;iN;i+)puts(chi);printf(nH);printf(HnEnter a string for search:);gets(t);n=fun(ch,t);/*found*/if(n=_ 3_)printf(nDont found!n);else printf(n
27、nThe position is%d.nn,n);【参考答案】N(2)i(3)-115.下列给定程序中已建立了一个带头结点的单向链表,在 main函数中将多次调用fun函数,每调用一次,输出链表尾部结点中的数据,并释放该结点,使链表缩短。请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。注意:部分源程序在文件BLANK 1.C中。不得增行或删行,也不得更改程序的结构!#include#include#defineN 8typedef struct list int data;struct list*next;SLIST;void fun(SLIST*p)SLIST*t,*s;t=
28、p-next;s=p;while(t-next!=NULL)s=t;/*found*/t=t-_1_;/*found*/printf(n%d”,2);s-next=NULL;/*found*/free(-3_);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=O;return h;void outlist(SLIST*h)SLIST*p;p=h-next;if(p=NULL)printf(nnThe list is NU
29、LL!nn);else printf(HnHead);do printf(,-%d,p-data);p=p-next;while(p!=NULL);printf(-Endn);main()SLIST*head;int aN=ll,12,15,18,l 9,22,25,29);head=creatlist(a);printf(nnOutput from head:nn);outlist(head);printf(nnOutput from tail:n*);while(head-next!=NULL)fun(head);printf(nnM);printf(nnOutput from head
30、again:n);outlist(head);)【参考答案】(l)next(2)t-data(3)t16.下列给定程序中,函数fun的功能是:逆置数组元素中的值。例如:若 a 所指数组中的数据为:1、2、3、4、5,6、7、8、9,则逆置后依次为:9,8、7、6、5、4、3、2、1。形参n 给出数组中数据的个数。请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。注意:部分源程序在文件BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include void fun(int a,int n)int i,t;/*found*/for(i=0;i_1_;i+)t=ai;/不*
31、found*不*/ai=aln-l-2;*found*/3 =t;main()int b9=l,2,3A5,6,7,8,9,i;printf(MnThe original data:n);for(i=0;i9;i+)printf(%4d”,bi);printf(“n);fun(b,9);printf(MnThe data after invert:n);for(i=0;i9;i+)printf(M%4d”,bi);printf(nnM);)【参考答案】(l)n/2(2)i(3)an-i-lj17.下列给定程序的功能是:调用函数fun将指定源文件中的内容复制到指定的目标文件中,复制成功时函数返回
32、1,失败时返回0。在复制的过程中,把复制的内容输出到屏幕。主函数中源文件名放在变量sfname中,目标文件名放在变量tfname中。请在卜划线处填入正确的内容并将下划线删除,使程序得出正确的结果。注意:部分源程序在文件BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include#include int fun(char.source,char.target)FILE*fs,*ft;char ch;/字 不*fou nd*/if(fs=fopen(source,_1_)=NULL)return 0;if(ft=fopen(target,nwn)=NULL)return 0;prin
33、tf(nnThe data in file:nn);ch=fgetc(fs);/*found*/while(!feof(_2_)putchar(ch);/*found*/fputc(ch,_3_);ch=fgetc(fs);fclose(fs);fclose(ft);printf(MnnM);return 1;)main()char sfname20=nmyfile 1 ,tfname|20=myfile2”;FILE*myf;intchar c;myf=fopen(sfname,wn);printf(MnThe original data:nn);for(i=l;i30;i+)c=A,+ra
34、nd()%25;fprintf(myf,%c,c);printf(u%cn,c);fclose(myf);printf(Mnnn);if(fun(sfname,tfname)printf(HSucceed!n);else printf(,Fail!n);)【参考答案】什”(2)fs(3)ft18.下列给定程序中,函数fun的功能是:有 N X N 矩阵,根据给定的m(mv=N)值,将每行元素中的值均向右移动m 个位置,左位置为0。例如,N=3,m=2,有下列矩阵369258147程序执行结果为000000147请 在 卜 划线处填入正确的内容并将下划线删除,使程序得出正确的结果。注意:部分源程
35、序在文件BLANK1.C中。不得增行或删行,也不得更改程序的结构!#in c l u d e#d e f i n e N 4v o i d f u n(i n t (*t)N i n t m)i n t i,j;/*f o u n d*/f o r(i=0;i=0;j)/*f o u n d*/t i U+一2一 J=t i j ;/*f o u n d */f o r(j=0;j _3;j+)t i J U J=O;)m a i n()i n t t N =21,12,13,24,25,16,47,38,29,11,32,54,42,21,33,10),i,j,m;p ri n t f(n
36、n T h e o ri g i n a l a rra y:n);f o r(i=0;i N;i+)f o r(j=0;j N;j+)p r i n t s%2 d n,t i j );p ri n t f C An 1);p ri n t f(I n p u t m(m=%d):u,N);s c a n f(%d,&m);f u n(t,m);p ri n t f(n n T h e re s u l t i s:nn);f o r(i=0;i N;i+)f o r(j=0;j N;j+)p ri n t f(u%2 d n,t i U D;p ri n t f(n nn);【参考答案】(
37、l)i+(2)m (3)m19.程序通过定义学生结构体变量,存储学生的学号、姓名和3门课的成绩。函数f u n的功能是:将形参a所指结构体变量中的数据赋给函数中的结构体变量b,并修改b中的学号和姓名,最后输出修改后的数据。例如,a所指变量中的学号、姓名和三门课的成绩依次是:10001、“Z h a n g S a n”、9 5、8 0、8 8,则修改后输出b 中的数据应为:10002、“LiSi”、95、80、88。请在卜划线处填入正确的内容并将下划线删除,使程序得出正确的结果。注意:部分源程序在文件BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include#include s
38、truct student longcharfloatsno;name 10;score3;void fun(struct student a)struct student b;int i;/*found*/b=_ 1_;b.sno=10002;/*found*/strcpy(_2_,nLiSiM);printf(nnThe data after modified An1);printf(nNo:%ld Name:%snScores:,b.sno,b.name);j*字 孝 字*fou nd*孝*字 字 */for(i=0;i3;i+)printf(H%6.2 fb._ 3 _);printf
39、(nnM);)main()struct student s=10001,ZhangSan,95,80,88);int i;printf(MnnThe original data:nH);printf(MnNo:%ldfor(i=0;i3;i+)printfCAn1);fun(s);Name:%snScores:u,s.sno,s.name);printf(1%6.2f 0,s.scorei);【参考答案】a(2)b.name(3)scorei20.下列给定程序的功能是:从键盘输入若干行字符串(每行不超过8 0 个字符),写入文件myfile4.txt中,用一1 作字符串输入结束的标志,然后将文
40、件的内容显示在屏幕上。文件的读写分别由函数ReadText和 WriteText实现。请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。注意:部分源程序在文件BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include#include#include void WriteText(FILE*);void ReadText(FILE*);main()FILE*fp;if(fp=fopen(,myfile4.txt,w,)=NULL)printf(open fail!nn);exit(O);WriteText(fp);fclose(fp);if(fp=fopen(,my
41、file4.txtM;,r)=NULL)printf(n open fail!n);exit(O);ReadText(fp);fclose(fp);/*found*/void WriteText(FILE _1_)char str81;printf(nnEnter string with-1 to end:n);gets(str);while(strcmp(str,l)!=O)/*found*/fputs(_2_,fw);fputs(nn,fw);gets(str);)void ReadText(FILE*fr)char strl81;printf(nnRead file and output
42、 to screen:n);fgets(str,81,fr);while(!feof(fr)/*found*/printf(”%s”,3);fgets(str,81,fr);)【参考答案】(1)*fw(2)str(3)str21.下列给定程序中,函数fun的功能是:有 N X N 矩阵,将矩阵的外围元素做顺时针旋转。操作顺序是:首先将第行元素的值存入临时数组r,然 后 使 第 列成为第行,最 后 行成为第一列,最后一列成为最后一行,再使临时数组中的元素成为最后一列。例如,若 N=3,有下列矩阵:3691 24 57 8操作后应为:7 4 18 5 29 6 3请在下划线处填入正确的内容并将下划
43、线删除,使程序得出正确的结果。注意:部分源程序在文件B LA NK1.C中。不得增行或删行,也不得更改程序的结构!#i n c l u d e#d e f i n e N 4v o i d f u n(i n t (*t)N )i n t j ,r N ;f o r(j=O;j N;j+)r j =t O f j ;f o r(j=0;j N;j+)/字 孝*f o u n d *字*/t O N-j-l =t U 1J;f o r(j=0;j=0;-2)t N-l N-l-j =t j N-l ;f o r(j=N-l;j=0;j)/不*f o u n d*不*/t U N-l =rl 3;
44、m a i n()i n t t N =21,12,13,24,25,16,47,38,29,l l,32,54,42,21,33,10,i,j;p ri n t f(n n T h e o ri g i n a l a rra y An);f o r(i=0;i N;i+)f o r(j=0;j N;j+)p ri n t f(M%2 dp ri n t f(n nn);f u n(t);p ri n t f(H n T h e re s u l t i s:nn);f o r(i=0;i N;i+)f o r(j=0;j N;j+)p ri n t f(M%2 dp ri n t f C
45、An);【参考答案】(D O (2)j (3)j22.下列给定程序中,函数f u n的功能是:在形参s s所指字符串数组中,查找含有形参s u b s t r所指子串的所有字符串,并输出,若没找到则输出相应信息。ss所指字符串数组中共有N个字符串,且串长小于M。程序中库函数s t rs t r(s l,s 2)的功能是在s i串中查找s 2子串,若没有,函数值为0,若有,函数值为非0。请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。注意:部分源程序在文件BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include#include#define N 5#define
46、 M 15void fun(char(*ss)M,char*substr)int i,find=0;for(i=0;i _ 1;i+)*fOU fid*/if(strstr(ssi,_ 2 _)!=NULL)find=l;puts(ssi);printf(nnu);/*found*/if(find=3_)printf(nDont found!nH);)main()char xNM=BASICr;C langwageVJava,nQBASIC,nAccess1,strM;int i;printf(nnThe original stringnnH);for(i=0;iN;i+)puts(xi);p
47、rintf(n);printf(nnEnter a string for search:);gets(str);fun(x,str);)【参考答案】(1)N(2)substr(3)023.下列给定程序中,函 数 fu n 的功能是:计算一个带头结点的单向链表中各结点的数据域中数值之和,结果作为函数值返回。请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。注意:部分源程序在文件BLANK 1.C中。不得增行或删行,也不得更改程序的结构。#include#include#define N 8typedef struct list int data;struct list*next;S
48、LIST;SLIST*creatlist(int*);void outlist(SLIST*);int fun(SLIST*h)SLIST*p;p=h-next;while(p)int s=0;/*found*/s+=p-1;/*fou nd*孝*/p=p-2 _;return s;main()SLIST*head;int aN=l 2,87,45,32,91,16,20,48);head=creatlist(a);outlist(head);/*found*/printf(nsum=%dnM,fun(_3_);)SLIST*creatlist(int a)SLIST 求 h,*p,*q;in
49、t 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(MThe list is NULL!n);else printf(nHead);do printf(,-%dH,p-data);p=p-next;while(p!=NULL);printf(-Endnn);)【参考答案】(1)data(2)next(3)head24.程序通过定义学生结构体变量,存储学生的学号、姓名
50、和3门课的成绩。函数fu n的功能是:将形参a 所指结构体变量s 中的数据进行修改,并把a 的地址作为函数值返回主函数,从主函数中输出修改的数据。例如,a 所指变量s 中的学号、姓名和三门课的成绩依次是:10001、ZhangSan、95、80、8 8,修改后输出t 中的数据应为:10002,LiSi 96、81、89。请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。注意:部分源程序在文件BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include#include struct student long sno;char namellOJ;float score3