1、1.填空给定程序的功能是调用fun 函数建立班级通讯录。通讯录中记录每位学生的编号,姓名和电话号码。班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5.dat 的二进制文件中。请在程序的下划线处填入正确的内容并把下划线删除,是程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.c 中不得增行或删行,也不得更改程序的结构!void check();/*found*/int fun(_1_*std)/*found*/_2_*fp;int i;if(fp=fopen(myfile5.dat,wb)=NULL)return(0);printf(nOutpu
2、t data to file!n);for(i=0;iN;i+)/*found*/fwrite(&stdi,sizeof(STYPE),1,_3_);fclose(fp);return(1);修改给定程序 MODI1.C 中函数 fun 的功能是:先将在字符串s 中的字符按正序存放到 t 串中,然后把 s 中的字符按逆序连接到t 串后面。例如:当 s 中的字符串为:“ABCDE”时,则他中的字符串应为:“ABCDEEDCBA”。请改正程序中的错误,使他能得出正确的结果。注意:不要改动 main 函数,不能增行或删行,也不得更改程序的结构!void fun(char*s,char*t)int i
3、,sl;sl=strlen(s);/*found*/for(i=0;i=s1;i+)ti=si;for(i=0;isl;i+)tsl+i=ssl-i-1;/*found*/tsl=0;程序函数 fun 的功能是:将两个两位数的正整数a,b 合并成一个整数放在c 中。合并的方式是:将 a数的十位和个位数依次放在c 数的千位和十位上,b 数的十位和个位数依次放在c 数的百位和个位上。例如:a=45,b=12时,调用该函数后,c=4152.注意:部分源程序存在文件PROG1.C中。数据文件 IN.DAT 中的数据不得修改。请勿改动主函数main 和其他函数中的任何内容,仅在函数fun 的花括号中填入
4、你编写的若干语句。答案:B:STYPE FILE fp M:for(i=0;i sl;i+)t2*sl=0;P:*c=(a/10)*1000+(b/10)*100+(a%10)*10+(b%10);2.填空给定程序的功能是:从键盘输入若干行文本(每行不超过80 个字符),写到文件 myfile4.txt 中,用-1 作为字符串输入结束的标记。然后将文件的内容读出显示在屏幕上。文件的读写分别有自定义函数ReadText 和 WriteText实现。请在程序的下划线处填入正确的内容并把下划线删除,是程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.c 中不得增行或删行,也不得更改程
5、序的结构!main()FILE*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);/*found*/void WriteText(FILE _1_)char str81;printf(nEnter string with-1 to end:n);gets(str);while(strcmp(str,-1)
6、!=0)/*found*/fputs(_2_,fw);fputs(n,fw);gets(str);void ReadText(FILE*fr)char str81;printf(nRead file and output to screen:n);fgets(str,81,fr);while(!feof(fr)/*found*/printf(%s,_3_);fgets(str,81,fr);修改给定程序 MODI1.c 中函数 fun 的功能是:从低位开始取出长整形变量s中的奇数位上的数,依次构成一个新数放在t 中,高位仍放在高位,低位仍放在低位。例如:当 s 中的数为:7654321时,t
7、中的数为:7531 请改正程序中的错误,使他能得出正确的结果。注意:不要改动 main 函数,不能增行或删行,也不得更改程序的结构!#include /*found*/void fun(long s,long t)long sl=10;*t=s%10;while(s 0)s=s/100;*t=s%10*sl+*t;/*found*/sl=sl*100;程序函数 fun 的功能是:将两个两位数的正整数a,b 合并成一个整数放在c 中。合并的方式是:将 a数的十位和个位数依次放在c 数的千位和十位上,b 数的十位和个位数依次放在c 数的百位和个位上。例如:a=45,b=12时,调用该函数后,c=1
8、524.注意:部分源程序存在文件PROG1.C中。数据文件 IN.DAT 中的数据不得修改。请勿改动主函数main 和其他函数中的任何内容,仅在函数fun 的花括号中填入你编写的若干语句。2、B:*fw str str M:long*t sl=sl*10;P:*c=(b/10)*1000+(a%10)*100+(b%10)*10+(a/10);3.填空给定程序中,函数 fun 的功能是:将自然数 110 以及它们的平方根写到名为 myfile3txt 的文本文档中,然后再顺序读出显示在屏幕上。请在程序的下划线处填入正确的内容并把下划线删除,是程序得出正确的结果。注意:源程序存放在考生文件夹下的
9、BLANK1.c 中不得增行或删行,也不得更改程序的结构!int fun(char*fname)FILE*fp;int i,n;float x;if(fp=fopen(fname,w)=NULL)return 0;for(i=1;i=10;i+)/*found*/fprintf(_1_,%d%fn,i,sqrt(double)i);printf(nSucceed!!n);/*found*/_2_;printf(nThe data in file:n);/*found*/if(fp=fopen(_3_,r)=NULL)return 0;fscanf(fp,%d%f,&n,&x);while(!f
10、eof(fp)printf(%d%fn,n,x);fscanf(fp,%d%f,&n,&x);fclose(fp);return 1;修改给定程序 MODI1.c 中 fun 函数的功能是:将n 个无序整数从小到大排序。fun(int n,int*a)int i,j,p,t;for(j=0;jn-1;j+)p=j;/*found*/for(i=j+1;iai)/*found*/t=i;if(p!=j)t=aj;aj=ap;ap=t;程序函数 fun 的功能是:将两个两位数的正整数a,b 合并成一个整数放在c 中。合并的方式是:将 a数的十位和个位数依次放在c 数的千位和十位上,b 数的十位和个
11、位数依次放在c 数的百位和个位上。例如:a=45,b=12时,调用该函数后,c=2514 注意:部分源程序存在文件PROG1.C中。数据文件 IN.DAT 中的数据不得修改。请勿改动主函数main 和其他函数中的任何内容,仅在函数fun 的花括号中填入你编写的若干语句。3、B:fp fclose(fp)fname M:i 0)d=s%10;/*found*/if(d%2=0)*t=d*sl+*t;sl*=10;/*found*/s=10;程序函数 fun 的功能是:将两个两位数的正整数a,b 合并成一个整数放在c 中。合并的方式是:将 a数的十位和个位数依次放在c 数的千位和十位上,b 数的十
12、位和个位数依次放在c 数的百位和个位上。例如:a=45,b=12时,调用该函数后,c=5142 注意:部分源程序存在文件PROG1.C中。数据文件 IN.DAT 中的数据不得修改。请勿改动主函数main 和其他函数中的任何内容,仅在函数fun 的花括号中填入你编写的若干语句。4、B:“r”fs ft M:(d%2=0)s/=10;P:*c=(a%10)*1000+(b/10)*100+(a/10)*10+(b%10);5.填空给定程序中已建立一个带有头结点的单向链表,链表中的各节点按结点数据域中的数据递增有序链表。函数fun 的功能是:把形参 x 的值放入一个新结点并插入到链表中,插入后结点数
13、据域的值仍保持递增有序。typedef struct list int data;struct list*next;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)/*found*/q=_2_;p=p-next;s-next=p;/*found*/q-next=_3_;修改给定程序 MODI1.C 中函数 fun 的功能是:计算正整数 num的各位上的数字之积。例如,若输入:252,则输
14、入应该是:20.若输入:202,则输出应该是:0.long fun(long num)/*found*/long k;do k*=num%10;/*found*/num=10;while(num);return(k);请编写一个函数 fun,它的功能是:它的功能是:计算n 门课程的平均分,计算结果作为函数值返回。例如:若有 5 门课程的成绩是:90.5,72,80,61.5,55 则函数的值为:71.80 5、B:x p s M:long k=1;num/=10;P:int i;float ave=0.0;for(i=0;inext;s=p;while(t-next!=NULL)s=t;/*f
15、ound*/t=t-_1_;/*found*/printf(%d,_2_);s-next=NULL;/*found*/free(_3_);修改给定程序 MODI1.C 中函数 fun 的功能是:将字符串中的字符按逆序输出,单补改变字符串中的内容。例如,若字符串味abcd,则应输出:dcba/*found*/fun(char a)if(*a)fun(a+1);/*found*/printf(%c*a);程序请编写一个函数 fun,他的功能是:比较两个字符串的长度(不得调用c语言提供的求字符串长度的函数),函数返回较长的字符串。若两个字符串长度相同,则返回第一个字符串。例如,输入beijingsh
16、anghai(为回车键),函数将返回shanghai 6、B:next t-data t M:fun(char*a)printf(%c,*a);P:int i;char*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
17、fun(SLIST*h)SLIST*p,*q;p=h-next;if(p!=NULL)q=p-next;while(q!=NULL)if(p-data=q-data)p-next=q-next;/*found*/free(_1_);/*found*/q=p-_2_;else p=q;/*found*/q=q-_3_;修改给定程序 MODI1.C 中函数 fun 的功能是:用选择法对数组中的n 个元素按从小到大的顺序进行排序。void fun(int a,int n)int i,j,t,p;for(j=0;j n-1;j+)/*found*/p=j for(i=j;i n;i+)if(ai ap
18、)/*found*/p=j;t=ap;ap=aj;aj=t;请编写一个函数 fun,它的功能是:求出1 到 m 之间(含 m)能被 7 或 11整除的所有整数放在数组a中,通过 n 返回这些数的个数。例如,若传 3 送给 m的之位 50,则程序输出:7 11 14 21 22 18 33 35 42 44 49 答案:7、B:q next next M:p=j;p=i;P:int i;*n=0;for(i=7;inext;/*found*/while(p!=_1_)n+;/*found*/if(p-data=ch)return _2_;else p=p-next;return 0;修改给定程序
19、 MODI1.C 中函数 fun 的功能是:删除 p 所指字符串中的所有空白字符(包括制表符,回车符及换行符)输入字符串是用“#”结束输入。fun(char*p)int i,t;char c80;/*found*/For(i=0,t=0;pi;i+)if(!isspace(*(p+i)ct+=pi;/*found*/ct=0;strcpy(p,c);程序请编写一个函数 fun,它的功能是:将 ss所指字符串中所有下标为奇数位置上的字母转换成大写(若该位置上不是字母,则不转换)例如:若输入“abc4EFg”,则应输出“aBc4Efg”。答案:8、B:NULL n head,ch M:for ct
20、=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,48,num;head=creatlist(a);outlist(head);/*found*/fun(_3_,&num);printf(nnumber=%dn,num);修改给定程序 MODI1.C 中函数 fun 的功能是:求出 s 所指字符串中最后一次出现的 t 所指子字符串的地址,通过函数返回值返回,在主函数中输出从此地址开始的字符串;若未找到,则函数值为NULL 例如:当
21、字符串中的内容为“abcdefabcdx”t 中的内容为“ab”时,输出的结果应是:abcdx 当字符串中的内容为“abcdefabcdx”t 中的内容为“abd”时,则程序输出未找到信息 not be found char*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 值也为偶数的字符外,其余的全部删
22、除:串中剩余字符所形成的一个新串放在t 所指的数组中例如,若 s所指的字符串中的内容为“ABCDEFG123456”,其中字符 A 的 ASCII码味奇数,因此应当删除,其中字符b 的 ASCII 码值为偶数,但是在数组中的下标为基数,因此也当删除;答案9、B:*n next head M:a=NULL;*r=*p P:int i,j=0;for(i=0;i next;while(p)/*found*/s+=p-_1_;/*found*/p=p-_2_;return s;修改给定程序 MODI1.C 中函数 fun 的功能是:将 s所指字符串中出现的与t1 所指字符串相同的字串全部替换成t2
23、所指字符串,所形成的新串放在w 所指的数组中,在此处,要求 t1 和 t2 所指字符串的长度相同。int fun(char*s,char*t1,char*t2,char*w)int i;char*p,*r,*a;strcpy(w,s);while(*w)p=w;r=t1;/*found*/while(r)if(*r=*p)r+;p+;else break;if(*r=0)a=w;r=t2;while(*r)/*found*/*a=*r;a+;r+w+=strlen(t2);else w+;程序函数 fun 的功能是;将 s所指字符串下标为偶数的字符删除,串中剩余字符形成的新串放在 t 所指的数
24、组中例如:当 s 所指字符串中的内容为:“ABCDEFGHIJK”在 t 所指数组中的内容应是“BDFHJ”10、B:data next head M:*r r+;P:int i,j=0;for(i=1;i strlen(s);i+=2)tj+=si;tj=0;11.填空人员记录有编号和出生年月日组成,N 名人员的数据已在主函数中存入结构体数组 std 中,且编号唯一。函数 fun 的功能是:找出数据中的编号为空串。/*found*/_1_ fun(STU*std,char*num)int i;STU a=,9999,99,99;for(i=0;iN;i+)/*found*/if(strcmp
25、(_2_,num)=0)/*found*/return(_3_);return a;修改给定程序 MODI1.C 中函数 fun 的功能是:从 s 所指字符串中,找出与t所指字符串相同的字串的个数作为函数返回值例如,当 s所指字符串中的内容为:“abcdabfab”,t 所指字符串的内容为:“ab”则函数返回整数3 int fun(char*s,char*t)int n;char*p,*r;n=0;while(*s)p=s;r=t;while(*r)if(*r=*p)/*found*/r+;p+else break;/*found*/if(r=0)n+;s+;return n;函数 fun 的
26、功能是:将 s 所指字符串中 ASCII 值为偶数的字符删除,串中剩余字符形成一个新串放在t 所指的数组中例如,若 s 所指字符串中的内容为“ABCDEFG12345”,其中字符 B 的ASCII 码值为偶数.答案:11、B:STU stdi.num stdi M:p+;*r=?0?;P:int i,j=0;for(i=0;i strlen(s);i+)if(si%2)tj+=si;tj=0;12填空人员的记录由编号和出生年月日组成N 名成员的数据已在主函数中存入结构体数组 std 中,函数 fun 的功能是:找出指定出生年份的人员,将其数据放在形参k 所指的数组中,由主函数输出,同事有函数值
27、返回满足指定条件的人数int fun(STU*std,STU*k,int year)int i,n=0;for(i=0;iN;i+)/*found*/if(_1_=year)/*found*/kn+=_2_;/*found*/return(_3_);修改给定程序 MODI12。C 的功能是:读入一个整数k(2k1000),打印她的所有因子例如 2310,则应输出 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
28、名学生的数据已经存入结构体数组a中。编写函数 fun,函数功能是:找出成绩最高的学生记录,通过形参指针传回主函数(规定只有一个最高分)。已给出函数的首部,请完成该函数12、B:stdi.year stdi n M:分号去掉if(!(n%i)P:int i,max=a0.s,j=0;for(i=1;i N;i+)if(max ai.s)j=i;max=ai.s;*s=aj;13填空给定程序通过定义并赋初值的方式,利用结构体变量存储了一名学生的学号,姓名和 3 们课程的成绩,函数fun 的功能是将该学生的各科成绩都乘以一个系数a void show(STU tt)int i;printf(%d%s
29、:,tt.num,tt.name);for(i=0;i3;i+)printf(%5.1f,tt.scorei);printf(n);/*found*/void modify(_1_*ss,float a)int i;for(i=0;i_2_*=a;main()STU std=1,Zhanghua,76.5,78.0,82.0;float a;printf(nThe original number and name and scores:n);show(std);printf(nInput a number:);scanf(%f,&a);/*found*/modify(_3_,a);printf
30、(nA result of modifying:n);show(std);修改给定程序 MODI。C 中函数 fun 的功能是:求 k!(k 0 return(k*fun(k-1);/*found*/else if(k=0)return 1L;设计程序定义了 N*N 的二维数组。并在主函数中自动赋值,请编写函数 fun,函数的功能是:使数组左下三角元素的值乘以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 std1.num)temp=std0;std0=std1;std1=t
31、emp;if(std0.numstd2.num)temp=std0;std0=std2;std2=temp;if(std1.numstd2.num)temp=std1;std1=std2;std2=temp;main()PERSON std=5,Zhanghu,2,WangLi,6,LinMin;int i;/*found*/fun(_3_);printf(nThe result is:n);for(i=0;i3;i+)printf(%d,%sn,stdi.num,stdi.name);修改给定程序 MODI1.c 中函数 fun 的功能是:将 m 个字符串连接起来组成一个新串,放入 pt 所
32、指存储区中int fun(char str10,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;pt0=0;设计程序定义了 N*N 的二维数组,并在主函数中自动赋值,请编写函数fun,函数的功能是:使数组左下三角元素中的值全部值0 14、B:*std PERSON std M:int strki P:int i,j;for(i=0;i N;i+)for(j=0;j=i;j+)aij=0;15.填空给定程序中,函数fun 的功能是:将形参
33、std 所指结构体数组中年龄最大者的数据作为函数值返回,并在主函数中输出STD fun(STD std,int n)STD max;int i;/*found*/max=_1_;for(i=1;in;i+)/*found*/if(max.age_2_)max=stdi;return max;main()STD std5=aaa,17,bbb,16,ccc,18,ddd,17,eee,15;STD max;max=fun(std,5);printf(nThe result:n);/*found*/printf(nName:%s,Age:%dn,_3_,max.age);修改给定程序 MODI1.
34、c 中函数 fun 的功能是:实现两个整数的交换例如给 a和 b 分别输入 60和 65,输出为:a=65 b=60/*found*/void fun(int a,b)int t;/*found*/t=b;b=a;a=t;设计请编制一个函数 fun,tt 指向一个 M 行 N 列的二维数组,求二维数组每列中最小元素,并以此放入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=tt0i;k=0;for(j=1;j ttji
35、)min=ttji;k=j;ppi=ttki;16.填空程序通过定义并赋初值的方式,利用结构体变量存储了一名学生的信息,函数 fun的功能是输出这位学生的信息/*found*/void show(STU _1_)int i;printf(n%d%s%c%d-%d-%d,tt.num,tt.name,tt.sex,tt.birthday.year,tt.birthday.month,tt.birthday.day);for(i=0;i3;i+)/*found*/printf(%5.1f,_2_);printf(n);main()STU std=1,Zhanghua,M,1961,10,8,76.
36、5,78.0,82.0;printf(nA student data:n);/*found*/show(_3_);修改给定程序 MODI1.c 中函数 fun 的功能是:求出数组中最大数和次大数,并把最大数和 a【0】中的数对调,次最大数和a【1】中的书对调int fun(int*a,int n)int i,m,t,k;for(i=0;i2;i+)/*found*/m=0;for(k=i+1;kam)k=m;t=ai;ai=am;am=t;设计请编写一个函数 unsigned fun,w 是一个大与 10 的无符号整数,若w 是 n 为的整数,函数求出 w 的低 n-1 位的数作为函数值返回例
37、如 w 为 5923 则函数返回 923;16、B:tt tt.scorei std M:m=i m=k P:if(w10000)w%=10000;else if(w1000)w%=1000;else if(w100)w%=100;else if(w10)w%=10;return w;17.填空给定程序中,函数fun 的功能是:对形参ss所指字符串数组中的M 个字符串按长度由短到长进行排序。Ss所指字符串数组中共有M 个字符串,且串长 N void fun(char(*ss)N)int i,j,k,nM;char tN;for(i=0;iM;i+)ni=strlen(ssi);for(i=0;
38、iM-1;i+)k=i;/*found*/for(j=_1_;jnj)_2_;if(k!=i)strcpy(t,ssi);strcpy(ssi,ssk);/*found*/strcpy(ssk,_3_);nk=ni;给定程序 MODI。C 中函数 fun 的功能是:判断ch中字符是否与 str 所指串中的某个字符相同;若相同,什么也不做,若不同,则将其插在串的最后#include /*found*/void fun(char str,char ch)while(*str&*str!=ch)str+;/*found*/if(*str=ch)str 0 =ch;/*found*/str1=0;设计
39、请编制一个函数 fun,函数功能是吧 s所指字符串中的内容逆值17、B:i+1 k=j t M:char*str!=0 P:char bN;int i=0,j;for(j=strlen(s)-1;j=0;j-)bi+=sj;bi=0;strcpy(s,b);18.填空给定程序中,函数 fun 的功能是:求出形参 ss所指的字符串数组中最长字符串的长度,其余字符串左边用字符*补齐,使其与最长的字符串等长,字符串数组中共有 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=
40、0;j-)ssim-=ssij;for(j=0;j1&n170)/*found*/result*=-n;/*found*/return _;设计编写函数 fun,函数的功能是:从s 所指的字符串中删除给定字符。同一个字母的大小写按不同字符处理18、B:k len ssij M:n-result P:char*p=s;int i=0;while(*p)if(*p!=c)si+=*p;p+;si=0;19.填空给定程序中,函数fun 的功能是:求出形参ss所指字符串数组中最长字符串的长度,将其余字符串右边用字符*补齐,使其与最长的字符串等长。Ss所指的字符串数组中共有 M 个字符串void fun
41、(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+)/*found*/ssi _2_=*;/*found*/ssin+j+_3_=0;修改给定程序 MODI1。C 中函数 fun 的功能是将:p 所指字符串中每个单词的最后一个字母改成大写#include void fun(char*p)int k=0;for(;*p;p+)if(k)/*found*/if(p=)k=0;/*found*/*(p-1)=toupper(*(p-1)else k=1;
42、设计请编写函数 fun,对长多为 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.填空给定程序中,函数fun 的功能是:求 ss所指字符串数组中长度最长的字符串所在的行下标,作为函数值返回,并把其串长放在形参n 所指变量中。Ss 所指字符串数组中共有M 个字符串#define N 20/*found*/int fun(char
43、(*ss)_1_,int*n)int i,k=0,len=0;for(i=0;i*n)/*found*/_3_;k=i;return(k);修改给定程序 MODI1.c 中函数 fun 的功能是:根据形参m,计算如下公式的值double fun(int m)double t=1.0;int i;for(i=2;i=m;i+)/*found*/t+=1.0/k;/*found*/_ 设计编写一个函数,该函数可以统计一个长度为2 的字符串在另个字符串中出现的次数20、B:N len*n=len M:t+=1.0/i;return t;P:int cnt=0;char*p=str,*q;while(
44、*p)q=strstr(p,substr);if(q=NULL)break;p=q+strlen(substr);cnt+;return cnt;strstr:在前串中找出后串第一次出现的位置,若找到返回地址否则返回NULL 21.填空给定程序中,函数 fun 的功能是:求 ss所指字符串数组中长度最短的字符串所在的行下标,作为函数值返回,并把其串长放在形参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 _
45、2_*n)*n=len;k=i;/*found*/return(_3_);修改给定程序 MODI1.c 中函数 fun 的功能是:将 tt 所指字符串中的小写字母都改为对应的大写字母,其他字符不变char*fun(char tt)int i;for(i=0;tti;i+)/*found*/if(a=tti)|(tti=z)/*found*/tti+=32;return(tt);设计请编写函数 fun,其功能是:将所有大于1 小于整数 m 的非素数存入 xx所指数组中,非素数的个数通过k 传回21、B:M k M:&tti-=32;P:int i,j;*k=0;for(i=2;im;i+)for
46、(j=2;j=i/2;j+)if(i%j=0)break;if(j=0&si=9)/*found*/t2j=si;_1_;else t1k+=si;t2j=0;t1k=0;/*found*/for(i=0;ik;i+)_2_;/*found*/for(i=0;i_3_;i+)sk+i=t2i;修改给定程序 MODI1.c 中函数 fun 的功能是:用冒泡法对6 个字符串由小到大的顺序进行排序fun(char*pstr6)int i,j;char*p;for(i=0;i 5;i+)/*found*/for(j=i+1,j 0)p=*(pstr+i);/*found*/*(pstr+i)=pstr
47、+j;*(pstr+j)=p;设计请编写函数 fun,它的功能是:求出ss 所指字符串中指定字符的个数,并返回此值22、B:j+si=t1i j M:;*(pstr+j)P:int cnt=0;char*p=ss;while(*p)if(*p=c)cnt+;p+;23.填空给定程序中,函数 fun 的功能是:在形参所指字符串中的每个数字字符之后插入一个*号void fun(char*s)int i,j,n;for(i=0;si!=0;i+)/*found*/if(si=0 _1_ sii;j-)/*found*/sj+1=_3_;sj+1=*;i=i+1;修改给定程序 MODI1.c 中函数
48、fun 的功能是;根据整形形参m,计算如下公式的值设计请编写函数 fun,函数功能是:实现 B=A+A ,即把矩阵 A 加上 A 的转职,存放到 B 中23、B:&0 sj M:=1.0 P:int c33;int i,j;for(i=0;i 3;i+)for(j=0;j=0&si=_2_)n+;/*found*/_3_;修改给定程序 MODI1.c 中函数 fun 的功能是:通过某种方式实现俩个变量值的交换,规定不予许增加语句和表达式int fun(int*x,int y)int t;/*found*/t=x;x=y;/*found*/return(y);设计请编写函数 fun,它的功能是:
49、求出1 到 1000 之间能被 7 或 11 整除,但不能同时被 7 和 11 整除的所有整数并将他们放在a 所指的数组中,通过n 返回这些数的个数24、B:si,9?*t=n;M:t=*x;*x=y;return(t);P:int i;*n=0;for(i=7;i=1;i=i-2)si+2=si;/*found*/s1=_3_;给定程序 MODI1.c 中 fun 函数的功能是:求s=aa aa-.aaa-aa-a long 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 n;
50、j+)/*found*/t=t%10;s=s-t;return(s);设计请编写一个函数 fun,统计在 tt 所指字符串中?a?到?z?26 个小写字母各自出现的次数,并依次放在pp 所指数组中25、B:n-1 sk c M:t=0 t=t/10 P:char*p=tt;int 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 i,j,n,x