历年全国计算机等级考试_二级C语言上机考试题库及答案.pdf

上传人:奔*** 文档编号:89654546 上传时间:2023-05-08 格式:PDF 页数:107 大小:9.48MB
返回 下载 相关 举报
历年全国计算机等级考试_二级C语言上机考试题库及答案.pdf_第1页
第1页 / 共107页
历年全国计算机等级考试_二级C语言上机考试题库及答案.pdf_第2页
第2页 / 共107页
点击查看更多>>
资源描述

《历年全国计算机等级考试_二级C语言上机考试题库及答案.pdf》由会员分享,可在线阅读,更多相关《历年全国计算机等级考试_二级C语言上机考试题库及答案.pdf(107页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、1.填空给定程序的功能是调用fun函数建立班级通讯录。通讯录中记录每位学生的编号,姓名和电话号码。班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5.dat的二进制文件中。请在程序的下划线处填入正确的内容并把下划线删除,是程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANKl.c中不得增行或删行,也不得更改程序的结构!void check();/*found*/int fun(_1_*std)(/*found*/一 2一 *fp;int i;if(fp=fopen(myfile5.dat,wb)=NULL)retum(O);printf(nO utpu

2、t data to file!nn);for(i=0;ivN;i+)/*found*/fwrite(&stdi,sizeof(STYPE),1,_3_);fclose(fp);retum(1);修改给定程序M0DI1.C中函数fun的功能是:先将在字符串s 中的字符按正序存放到 t 串中,然后把s 中的字符按逆序连接到t 串后面。例如:当s 中的字符串为:“ABCDE”时,则他中的字符串应为:“ABCDEEDCBA”。请改正程序中的错误,使他能得出正确的结果。注意:不要改动m ain函数,不能增行或删行,也不得更改程序的结构!void fun(char*s,char*t)int i,si;si

3、=strlen(s);/*found*/for(i=0;i=sl;i+)ti=si;for(i=0;isl;i+)tsl+i=ssl-i-l;/*IV)und*/tsl=0;程序函数fu n的功能是:将两个两位数的正整数a,b合并成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的千位和十位上,b数的十位和个位数依次放在c数的百位和个位上。例如:a=45,b=12时,调用该函数后,c=4152.注意:部分源程序存在文件PRO G 1.C中。数据文件IN.DAT中的数据不得修改。请勿改动主函数m ain和其他函数中的任何内容,仅在函数fu n的花括号中填入你编写的若干语句。答案:

4、B:STYPE FILE fpM:for(i=0;i s i;i+)t2*sl=0;P:*c=(a/10)*1000+(b/10)*100+(a%10)*10+(b%10);2.填空给定程序的功能是:从键盘输入若干行文本(每行不超过8 0 个字符),写到文件myfile4.txt中,用-1 作为字符串输入结束的标记。然后将文件的内容读出显示在屏幕上。文件的读写分别有自定义函数ReadText和 WriteText实现。请在程序的下划线处填入正确的内容并把下划线删除,是程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANKl.c中不得增行或删行,也不得更改程序的结构!main()FILE

5、*fp;if(fp=fopen(myfile4.txt,w)=NULL)printf(open fail!n);exit(0);WriteText(fp);fclose(fp);if(fp=fopen(myfile4.txt,r)=NULL)printf(open fail!n);exit(0);ReadText(fp);fclose(fp);)/*Qund*/void WriteText(FILE 1 )char str81;printf(HnEnter string with-1 to end:nn);gets(str);while(strcmp(str;,-r,)!=O)fputs(_2

6、_,fw);fputs(nn,fw);gets(str);void ReadText(FILE*fr)char str81;printf(MnRead file and output to screen:nn);fgets(str,81,fr);while(!feof(fr)/*fou n d*/printf(%s,3);fgets(str,81,fr);)修改给定程序M ODIl.c中函数fun的功能是:从低位开始取出长整形变量s中的奇数位上的数,依次构成一个新数放在t中,高位仍放在高位,低位仍放在低位。例如:当s中的数为:7654321时,t中的数为:7531请改正程序中的错误,使他能得出

7、正确的结果。注意:不要改动m ain函数,不能增行或删行,也不得更改程序的结构!#include/*found*/void fun(long s,long t)long sl=10;*t=s%10;while(s 0)s=s/100;*t=s%10*si+*t;/*und*/si=si*100;程序函 数 fu n 的功能是:将两个两位数的正整数a,b 合并成一个整数放在c 中。合并的方式是:将 a 数的十位和个位数依次放在c 数的千位和十位上,b 数的十位和个位数依次放在c 数的百位和个位上。例 如:a=4 5,例 如 时,调用该函数后,c=1524.注意:部分源程序存在文件PROG1.C中

8、。数据文件IN.DAT中的数据不得修改。请勿改动主函数m ain和其他函数中的任何内容,仅在函数fu n 的花括号中填入你编写的若干语句。2、B:*fw str strM:long*t si=si*10;P:*c=(b/10)*1000+(a%10)*100+(b%10)*10+(a/10);3.填空给定程序中,函数fun的功能是:将自然数110以及它们的平方根写到名为myfile3txt的文本文档中,然后再顺序读出显示在屏幕上。请在程序的下划线处填入正确的内容并把下划线删除,是程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANKl.c中不得增行或删行,也不得更改程序的结构!int

9、fun(char*fname)FILE*fp;int i,n;float x;if(fp=fopen(fname,w)=NULL)return 0;for(i=l;i=10;i+)/*ound*/fprintf(_1_,%d%fnn,i,sqrt(double)i);printf(HnSucceed!nH);/*found*/2printf(HnThe data in file:nn);/*found*/if(fp=fopen(3;,r,)=NULL)return 0;fscanf(fp/%d%f;&n,&x);while(!feof(fp)printf(n%d%fnn,n,x);fscanf

10、(fp,%d%f,&n,&x);fclose(fp);return 1;修改给定程序M ODIl.c中fun函数的功能是:将n个无序整数从小到大排序。fun(int n,int*a)int i,j,p,t;for(j=0;jn-l;j+)P=J;/*found*/for(i=j+l;iai)/*found*/if(p!=j)t=ag;ag=ap;ap=t;程序函数fun的功能是:将两个两位数的正整数a,b 合并成一个整数放在c 中。合并的方式是:将 a 数的十位和个位数依次放在c 数的千位和十位上,b 数的十位和个位数依次放在c 数的百位和个位上。例如:a=45,b=如时,调用该函数后,c=2

11、514注意:部分源程序存在文件PRO G 1.C中。数据文件IN.DAT中的数据不得修改。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。3、B:fp fclose(fp)fnameM:i 0)d=s%10;/*found*/if(d%2=0)*t=d*sl+*t;si*=10;/*found*/s=10;程序函数fun的功能是:将两个两位数的正整数a,b 合并成一个整数放在c 中。合并的方式是:将 a 数的十位和个位数依次放在c 数的千位和十位上,b 数的十位和个位数依次放在c 数的百位和个位上。例如:a=45,b=12时,调用该函数后,c=514

12、2注意:部分源程序存在文件PROGLC中。数据文件IN.DAT中的数据不得修改。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。4、B:r”fs ftM:(d%2=0)s/=10;P:*c=(a%10)*1000+(b/10)*100+(a/10)*10+(b%10);5.填空给定程序中已建立一个带有头结点的单向链表,链表中的各节点按结点数据域中的数据递增有序链表。函数fun的功能是:把形参x 的值放入个新结点并插入到链表中,插入后结点数据域的值仍保持递增有序。typedef struct list int data;struct list*next

13、;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&xp-data)/*ound*/q=2一:p=p-next;s-next=p;/*found*/q-next=_3_:修改给定程序MODI1.C中函数fun的功能是:计算正整数num的各位上的数字之积。例如,若输入:2 5 2,则输入应该是:20.若输入:2 0 2,则输出应该是:0.long fun(long num)/*found*/long k;d

14、o k*=num%10;/*found*/num=10;while(num);return(k);)请编写一个函数fu n,它的功能是:它的功能是:计算n门课程的平均分,计算结果作为函数值返回。例如:若有5门课程的成绩是:90.5,72,80,61.5,55则函数的值为:71.805、B:x p sM:long k=l;num/=10;P:int i;float ave=0.0;for(i=0;inext;s=p;while(t-next!=NULL)s=t;/*found*/t=t-1printf(f%d,2);s-next=NULL;/*ound*/free(_3_);修改给定程序MO D

15、I 1 .C中函数fun的功能是:将字符串中的字符按逆序输出,单补改变字符串中的内容。例如,若字符串味a b e d,则应输出:debafun(char a)if(*a)fun(a+l);/*found*/printf(u%c*a);)程序请编写一个函数fu n,他的功能是:比较两个字符串的 长 度(不得调用c语言提供的求字符串长度的函数),函数返回较长的字符串。若两个字符串长度相同,则返回第一个字符串。例 如,输 入beijingshanghai(为回车键),函数将返回shanghai6 B:next t-data tM:fun(char*a)printf(%c,*a);P:int i;ch

16、ar*p=s,*q=t;for(i=0;*p&*q;i+)p+;q+;if(*p=0&*q=0)return s;if(*p)return s;else return t;7.填空给定程序中建立一个带有头结点的单向链表,链表中的各节点按数据域递增有序连接。函 数fun的功能是:删除链表中数据域值相同的结点,使之只保留一个typedef struct list int data;struct list*next;SLIST;void fun(SLIST*h)SLIST*p,*q;p=h-next;if(p!=NULL)q=pnext;while(q!=NULL)if(p-data=q-data)

17、p-next=q-next;/*found*/free(_1);/*foun d*/q=p-_ _ 2-;else p=q;/*found*/q=q-_3_:修改给定程序M 0DI1.C中函数fun的功能是:用选择法对数组中的n 个元素按从小到大的顺序进行排序。void fun(int a,int n)int i,j,t,p;for(j=0;j n-1;j+)/*found*/p=jfor(i=j;i n;i+)if(aiap)/*found*/p=j;t=ap;ap=a。;aj=t;)请编写一个函数fu n,它的功能是:求出1 到 m 之 间(含 m)能被7 或 11整除的所有整数放在数组a

18、 中,通过n 返回这些数的个数。例如,若传3 送给m的之位 5 0,则程序输出:7 11 14 21 22 18 33 35 42 44 49答案:7、B:q next nextM:p=j;p=i;P:int i;*n=0;for(i=7;inext;/*found*/while(p!=_1_)n+;if(p-data=ch)return_2.else p=p-next;return 0;)修改给定程序M 0DI1.C中函数fun的功能是:删除p所指字符串中的所有空白字符(包括制表符,回车符及换行符)输入字符串是用“#结束输入。fun(char*p)int i,t;char c80;/*fou

19、nd*/For(i=0,t=0;pi;i+)if(!isspace(*(p+i)ct+=pi;/*found*/ct=0;strcpy(p,c);)程序请编写一个函数fu n,它的功能是:将ss所指字符串中所有下标为奇数位置上的字母转换成大写(若该位置上不是字母,则不转换)例如:若输入“abc4EFg,则应输出“aBc4Efg”。答案:8、B:NULL n head,chM:for ct=0;P:int i;for(i=1 ;i=a&ssi next;while(p)(*n)+;/*found*/p=p-_2_:main()SLIST*head;int aN=12,87,45,32,91,16

20、,20,48),num;head=creatlist(a);outlist(head);/*found*/fun(_3_,&num);printf(unnumber=%dnn,num);修改给定程序MODI1.C中函数fun的功能是:求出s所指字符串中最后一次出现的t 所指子字符串的地址,通过函数返回值返回,在主函数中输出从此地址开始的字符串;若未找到,则函数值为NULL例如:当字符串中的内容为“abcdefabcdx”t 中的内容为“ab”时,输出的结果应是:abcdx当字符串中的内容为“abcdefabcdx”t 中的内容为“abd”时,则程序输出未找到信息 not be foundcha

21、r*fun(char*s,char*t)(char*p,*r,*a;/*found*/a=Null;while(*s)p=s;r=t;while(*r)/*found*/if(r=p)r+;p+;else break;if(*r=0)a=s;s+;)return a;)程序函数fun的功能是:将 s 所指字符串中除了下标间为偶数,同时ASCII值也为偶数的字符外,其余的全部删除:串中剩余字符所形成的一个新串放在t 所指的数组中例如,若 s 所指的字符串中的内容为“ABCDEFG123456,其中字符A 的ASCII码味奇数,因此应当删除,其中字符b 的 ASCII码值为偶数,但是在数组中的下标

22、为基数,因此也当删除;答案9、B:*n next headM:a=NULL;*r=*pP:int i,j=0;for(i=0;i next;while(p)(/*found*/s+=p-_1_;/*found*/p=p-_ 2 _;)return s;修改给定程序MO DI1.C中函数fun的功能是:将 s 所指字符串中出现的与t l 所指字符串相同的字串全部替换成t2所指字符串,所形成的新串放在w 所指的数组中,在此处,要求t l 和 t2所指字符串的长度相同。int fun(char*s,char*tl,char*t2,char*w)int i;char*p,*r,*a;strcpy(w,

23、s);while(*w)p=w;r=tl;/*found*/while(r)if(*r=*p)r+;p+;else break;if(*r=AO1)a=w;r=t2;while(*r)/*found*/*a=*r;a+;r+)w+=strlen(t2);else W+;)程序函数fun的功能是;将s所指字符串下标为偶数的字符删除,串中剩余字符形成的新串放在t所指的数组中例如:当s所指字符串中的内容为:“ABCDEFGHIJK”在t所指数组中的内容应是“BDFHJ”10、B:data next headM:*r r+;P:int i,j=0;for(i=1 ;i strlen(s);i+=2)t

24、j+=si;tj=0;11.填空人员记录有编号和出生年月日组成,N名人员的数据已在主函数中存入结构体数组std中,且编号唯一。函数fun的功能是:找出数据中的编号为空串。/*found*/_1_ fun(STU*std,char*num)int i;STU a=”,9999,99,99;for(i=0;ivN;i+)/*found*/if(strcmp(_2_,num)=0)/*found*/return(_3一);return a;修改给定程序M 0DI1.C中函数fun的功能是:从s所指字符串中,找出与t所指字符串相同的字串的个数作为函数返回值例如,当s所指字符串中的内容为:“abcdab

25、fab,t所指字符串的内容为:“ab”则函数返回整数3int fun(char*s,char*t)int n;char*p,*r;n=0;while(*s)p=s;while(*r)if(*r=*p)/*found*/r+;p+else break;/*ound*/if(r=(y)n+;s+;)return n;)函数fun的功能是:将 s 所指字符串中ASCII值为偶数的字符删除,申中剩余字符形成一个新串放在t 所指的数组中例如,若 s 所指字符串中的内容为“ABCDEFG12345,其中字符B 的ASCII码值为偶数.答案:11、B:STU stdi.num stdiM:p+;*r=0;P

26、:int i,j=0;for(i=0;i strlen(s);i+)if(si%2)tj+=si;tj=0;1 2.填空人员的记录由编号和出生年月日组成N 名成员的数据已在主函数中存入结构体数组std中,函数fun的功能是:找出指定出生年份的人员,将其数据放在形参k 所指的数组中,由主函数输出,同事有函数值返回满足指定条件的人数int fun(STU*std,STU*k,int year)int i,n=0;for(i=0;iN;i+)/*found*/if(_1_=year)kn+=2/*found*/return(_3_);修改给定程序M 0DU2。C的功能是:读入一个整数k(2k1 0

27、0 0),打印她的所有因子例如2 3 1 0,则应输出2,3,5,7,11/*found*/IsPrime(int n);int i,m;m=1;for(i=2;i n;i+)/*found*/if!(n%i)m=0;break;return(m);设计已知学生的记录有学号成绩构成,N名学生的数据已经存入结构体数组a中。编写函数f u n,函数功能是:找出成绩最高的学生记录,通过形参指针传回主函数(规定只有一个最高分)。已给出函数的首部,请完成该函数12、B:stdi.year stdi n M:分号去掉 if(!(n%i)P:int i,max=a0.s,j=0;for(i=1 ;i N;i

28、+)if(max ai.s)j=i;max=ai.s;*s=aj;1 3.填空给定程序通过定义并赋初值的方式,利用结构体变量存储了 一名学生的学号,姓名和3们课程的成绩,函数fun的功能是将该学生的各科成绩都乘以一个系数avoid show(STU tt)int i;printf(n%d%s:n,tt.num,tt.name);for(i=0;i3;i+)printf(n%5.If tt.scorei);printf(,nn);/*foun d*/void modify(_1_ *ss,float a)int i;for(i=0;i_2_*=a;main()STU std=1,Zhanghua

29、,76.5,78.0,82.0;float a;printf(HnThe original number and name and scores:nn);show(std);printf(nnlnput a number:);scanf(f,&a);/*found*/modify(_3_,a);printf(nA result of modifying:n);show(std);修改给定程序MODI。C中函数fun的功能是:求k!(k 0return(k*fun(k-l);/*f ound*/else if(k=0)return IL;设计程序定义了 N*N的二维数组。并在主函数中自动赋值,请

30、编写函数fu n,函数的功能是:使数组左下三角元素的值乘以n例如:若n的值为3,a数组的值为13、B:STU scorei&std M:()k=0 P:int i,j;for(i=0;i N;i+)for(j=0;j std l.num)temp=std0;stdO=stdfl;stdl=temp;if(stdO .numstd2.num)temp=std0;std0=std2;std2=temp;if(std 1 .numstd2.num)temp=stdl;stdl=stdf2;std2=temp;main()PERSO N std=5,”Zhanghu”,2JWangLi”,6JLinM

31、in”;int i;/*ound*/fun(3一);printf(nThe result is:nH);for(i=0;i3;i+)printf(n%d,%sn,stdi.num,stdi.name);修改给定程序M ODIl.c中函数fun的功能是:将m个字符串连接起来组成一个新串,放入p t所指存储区中int fun(char strflflO,int m,char*pt)/*found*/Int k,q,i;for(k=0;k m;k+)q=strlen(str k);for(i=0;iq;i+)/*found*/pti=strk,i;pt+=q;ptO =0;设计程序定义了 N*N的二

32、维数组,并在主函数中自动赋值,请编写函数f u n,函数的功能是:使数组左下三角元素中的值全部值014、B:*std PERSO N std M:int strki P:int i,j;for(i=0;i N;i+)for(j=0;j=i;j+)aij=0;15.填空给定程序中,函数fun的功能是:将形参std所指结构体数组中年龄最大者的数据作为函数值返回,并在主函数中输出STD fun(STD std,int n)STD max;int i;/*found*/max=_1for(i=l;in;i+)/*found*/if(max.age_2_)max=stdi;return max;)mai

33、n()STD std5=,aaan,17;,bbb,16;,cccM8,ndddn,17,neeen,15;STD max;max=fun(std,5);printf(HnThe result:nn);/*found*/printf(nnName:%s,Age:%dn,_3_,max.age);修改给定程序M ODILc中函数fun的功能是:实现两个整数的交换例如给a和b分别输入60和6 5,输出为:a=65 b=60/*found*/void fun(int a,b)int t;/*found*/t=b;b=a;a=t;设计请编制一个函数fun,tt指向一个M行N列的二维数组,求二维数组每列

34、中最小元素,并以此放入pp所指一维数组中。二维数组中的数已在主函数中赋予15、B:*std stdi.age max.name M:int*b t=*b;*b=*a;*a=t;P:int i,j,min,k;for(i=0;i N;i+)min=ttO i;k=0;for(j=1 ;j ttji)min=ttji;k=j;ppfi=ttki;16.填空程序通过定义并赋初值的方式,利用结构体变量存储了一名学生的信息,函数fun的功能是输出这位学生的信息void show(STU _1_)int i;printf(n%d%s%c%d-%d-%d,tt.num,tt.name,tt.sex,tt.b

35、irthday.year,tt.birthday.month,tt.birthday.day);for(i=0;i3;i+)/*found*/printf(%5.1f,_ _ 2_);printf(nnn);main()STU std=l/hanghuaVM1,1961,10,8,76.5,78.0,82.0;printf(HnA student data:n);/*found*/show(_3_);修改给定程序M ODILc中函数fu n的功能是:求出数组中最大数和次大数,并把最大数和a 0 中的数对调,次最大数和a【1】中的书对调int fun(int*a,int n)int i,m,t,

36、k;for(i=0;i2;i+)/*found*/m=0;for(k=i+1;kam)k=m;t=afi;ai=afm;am=t;设计请编写一个函数unsigned fun,w 是一个 大 与 10的无符号整数,若 w 是 n 为的整数,函数求出w 的低n-1位的数作为函数值返回例 如 w 为 5923则函数返回923;16、B:tt tt.scorei std M:m=i m=kP:if(w 10000)w%=10000;else if(w 1000)w%=1000;else if(w 100)w%=100;else if(w10)w%=10;return w;17.填空给定程序中,函数fu

37、n的功能是:对形参ss所指字符串数组中的M 个字符串按长度由短到长进行排序。S s所指字符串数组中共有M 个字符串,且 串 长 Nvoid fun(char(*ss)N)int i,j,k,nM;char tN;for(i=0;iM;i+)ni=strlen(ssi);for(i=0;iM-l;i+)/*found*/for(j=_1_;jnj)2.if(k!=i)strcpy(t,ssi);strcpy(ssi,ssk);/*foun d*/strcpy(ssk,3_);nk=ni;给定程序MODI。C中函数fun的功能是:判断c h中字符是否与str所指串中的某个字符相同;若相同,什么也不

38、做,若不同,则将其插在串的最后#include/*found*/void fun(char str,char ch)while(*str&*str!=ch)str+;/*found*/if(*str=ch)str 0 =ch;/*found*/strl=,O,;设计请编制个函数f u n,函数功能是吧s所指字符串中的内容逆值17、B:i+1 k=j t M:char*str!=0P:char bN;int i=0,j;for(j=strlen(s)-1 ;j=0;j)bi+=sj;bi=0;strcpy(s,b);18.填空给定程序中,函数fun的功能是:求出形参ss所指的字符串数组中最长字符

39、串的长度,其余字符串左边用字符*补齐,使其与最长的字符串等长,字符串数组中共有M个字符串void fun(char(*ss)N)int i,j,k=0,n,m,len;for(i=0;in)/*found*/n=len;1_=i;for(i=0;i=O;j-)ssim-=ssij;for(j=0;jl&n170)/*found*/result*=-n;/*ound*/r e t u r n;设计编写函数f u n,函数的功能是:从s所指的字符串中删除给定字符。同一个字母的大小写按不同字符处理18、B:k len ssij M:n result P:char*p=s;int i=0;while(

40、*p)if(*p!=c)si+=*p;p+;si=0;19.填空给定程序中,函数fu n的功能是:求出形参s s所指字符串数组中最长字符串的长度,将其余字符串右边用字符*补齐,使其与最长的字符串等长。S s所指的字符串数组中共有M个字符串void fun(char(*ss)N)int i,j,n,len=0;for(i=0;in)n=len;)for(i=0;iM;i+)/*found*/n=strlen(_1_);for(j=0;jlen-n;j+)/*ound*/ssi 2=*;/*found*/ssin+j+3=0;修改给定程序MODU。C中函数fun的功能是将:p所指字符串中每个单词的

41、最后一个字母改成大写#include void fun(char*p)int k=0;for(;*p;p+)if(k)/*found*/if(P=)k=0;/*f ound*/*(p-1)=toupper(*(p-1 )elsek=1;设计请编写函数fu n,对长多为7个字符的字符串,除首,尾字符外,将其余5个字符按ASCII降序排列19、B:ssi n+j 1 M:*p;P:char ch;int i,j;for(i=1 ;i 6;i+)for(j=i+1 ;j 6;j+)if(*(s+i)*(s+j)ch=*(s+j);*(s+j)=*(s+i);*(s+i)=ch;20.填空给定程序中,

42、函数fun的功能是:求ss所指字符串数组中长度最长的字符串所在的行下标,作为函数值返回,并把其串长放在形参n所指变量中。S s所指字符串数组中共有M个字符串#define N 20/*foun d*/int fun(char(*ss)_1_,int*n)int i,k=0,len=0;for(i=0;i*n)/*found*/3.k=i;return(k);修改给定程序M ODIl.c中函数fun的功能是:根据形参m,计算如下公式的值1 1 1 1t=1+-+-+-+.+-2 3 4 m例 如,若输入5,则应输出2.283333cdouble fun(int m)double t=1.0;in

43、t i;for(i=2;i=m;i+)/*/t+=1.0/k;/*found*/设计编写一个函数,该函数可以统计一个长度为2的字符串在另个字符串中出现的次数20、B:N len*n=len M:t+=1.0/i;return t;P:int ent=0;char*p=str,*q;while(*p)q=strstr(p,substr);if(q=NULL)break;p=q 4-strlen(substr);cnt+;return ent;strstr:在前串中找出后串第次出现的位置,若找到返回地址否则返回NULL21.填空给定程序中,函数fun的功能是:求ss所指字符串数组中长度最短的字符串

44、所在的行下标,作为函数值返回,并把其串长放在形参n所指变量中int 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)*n=len;/*砧und*/return(_3_);修改给定程序M ODIl.c中函数fun的功能是:将tt所指字符串中的小写字母都改为对应的大写字母,其他字符不变char*fun(char ttfl)int i;for(i=0;tti;i+)/*found*/if(a,=tti)11(tti=z)/*8

45、un(j*/tti+=32;return(tt);设计请编写函数f u n,其功能是:将所有大于1小于整数m的非素数存入xx所指数组中,非素数的个数通过k传回21、B:M k M:&tti-=32;P:int i,j;*k=0;for(i=2;im;i+)for(j=2;j=i/2;j+)if(i%j=0)break;if(j=O&si=9)/*found*/t2j=si;1;else tlk+=si;t2j=0;tlk=O;/*found*/for(i=0;ik;i+)2/*found*/for(i=0;i_3_;i+)sk+i=t2i;修改给定程序M ODIl.c中函数fun的功能是:用冒

46、泡法对6个字符串由小到大的顺序进行排序fun(char*pstr6)int i,j;char*p;for(i=0;i 0)p=*(pstr+i);/*found*/*(pstr+i)=pstr+j;*(pstr+j)=p;设计请编写函数f u n,它的功能是:求出s s所指字符串中指定字符的个数,并返回此值22 B:j+si=tli j M:;*(pstr+j)P:int ent=0;char*p=ss;while(*p)if(*p=c)cnt+;p+;23.填空给定程序中,函数fun的功能是:在形参所指字符串中的每个数字字符之后插入一个*号v o i d f u n(c h a r *s)i

47、 n t i,j,n;f o r(i=0;s i !=0 ;i+)/*f o u n d*/i f(s i =O _1 s i i;j-)/*f o u n d*/S j+1 =3;s j+l =*;i=i+l;)修改给定程序MODILc中函数f u n的功能是;根据整形形参m,计算如下公式的值1 1 1 1y =1 +-+-+-+.+-2*2 3*3 4*4 i r t*m例如,若m中的值为:5,则应输出:1.4 6 3 6 1 1。设计请编写函数fun,函数功能是:实现B=A+A,即把矩阵A加上A的转职,存放至U B中2 3、B:&0 s j M:=1.0P:i n t c 3 3 ;i

48、n t i,j ;f o r(i =0;i 3 ;i+)f o r(j =0;j =O&si B:si 9 *t=n;M:t=*x;*x=y;return(t);P:int i;*n=0;for(i=7;i=l;i=i-2)si+2=si;/*found*/sl=3给定程序M ODIl.c中fun函数的功能是:求s=aa.aa-.aaa-aa-along fun(int a,int n)int j;/*found*/long s=0,t=1 ;for(j=0;j n;j+)t=t*10+a;s=t;for(j=1 ;j B:n-1 sk c M:t=0 t=t/10P:char*p=tt;in

49、t i;for(i=0;i=a&*p=z)pp*p-a+=1 ;p+;26.填空给定程序中,函数fun的功能是:对形参s 所指字符串中下标为奇数的字符按 ascii码大小递增排序,并将排序后下标为基数的字符取出,存入形参p 所指字符数组中,形成一个新串void fun(char*s,char*p)int ij,n,x,t;n=0;for(i=0;si!=0;i+)n+;for(i=l;in-2;i=i+2)/*found*/一 1一;/*found*/for(j=一 2 _+2 ;jsj)t=j;if(t!=i)x=si;si=st;st=x;for(i=1 ,j=0;i=num)pi=pi+

50、t;n=n+2;/*found*/t=s%n;pi=pi*4;return p i;请编写一个函数f u n,其功能是:删除一个字符串中指定下标的字符,其中,a指向原字符,删除指定字符后的字符串存在b所指的数组中,n中存放指定下标26、B:t=i;i 0 M:(fabs(t)s/n P:strncpy(b,a,n);bn=0;strcat(b,a+n+1);27填空给定程序中,函数 fun的功能是:在形参所指字符串中寻找 个字符串与参数c相同的字符,并在其后插入一个与之相同的字符,若找不到相同的字符则函数不做任何处理void fun(char*s,char c)int ij,n;/*found

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁