针对2012年3月份的计算机二级考试C语言1-100.txt
《针对2012年3月份的计算机二级考试C语言1-100.txt》由会员分享,可在线阅读,更多相关《针对2012年3月份的计算机二级考试C语言1-100.txt(77页珍藏版)》请在文库网上搜索。
1、第一套第二套第三套第四套第五套第六套程序填空给定程序中,函数fun的功能是根据形参i的值返回某个函数年值。当调用正确时,程序输出:x1=5.000000x2=3.000000.x1*x1+x1*x2=40.000000 第一处:double fun(int i,double x,double y)第二处:return f1(x);第三处:return f2(x,y);2.程序修改给定程序MODI1.C中函数fun的功能是:比较两个字符串,将长的那个字符串的首地址作为函数值返回。#include /*found*/char *fun(char *s,char *t)int sl=0,tl=0;c
2、har *ss,*tt;ss=s; tt=t;while(*ss) sl+;/*found*/ss+;while(*tt) tl+;/*found*/tt+;if(tlsl) return t;else return s;3. 程序设计请编写函数fun,函数的功能是:移动字符串中的内容,移动的规则如下:把第1到第m个字符,平均移到字符串的最后,把第m+1个到最后的;字符移到字符串的前部。void fun(char *w, int m )int i;for(i=0;im;i+)fun1(w);第七套程序填空程序通过定义并赋初值的方式,利用结构体变量存储了一名学生的信息,函数fun的功能是输出这位
3、学生的信息。第1处 void show( STU tt)第2处 printf(“%5.1f”,tt.scorei);第2处 show(std)2.程序修改给定程序MODI1中函数fun的功能是:求出数组中最大数和次最大数,并把最大数和a0中的数对调、次最大数和a1中的数对调。int fun(int *a,int n) int i,m,t,k; for(i=0;i2;i+)/*found*/m=i;for(k=i+1;kam)m=k;t=ai;ai=am;am=t;3.程序设计请编写一个unsigned fun(unsigned w),w是一个大于10的无符号整数,若w是n(n=2)位的整数,函
4、数求出w的后n-1位的数作为函数值返回。例如:w值为5923,则函数返回923;w值为923则函数返回23。unsigned fun( unsigned w ) if(w=10000) return w%10000;if(w=1000) return w%1000;if(w=100) return w%100;return w%10;第八套程序填空给定程序通过定义并赋值的方式,利用结构体变量存储了一名学生学号、姓名和3门课的成绩。函数fun的功能是将该学生的各科成绩都乘以一个系统a。第1处 void modify(STU *ss,float a )第2处 ss-scorei*=a;第3处 mo
5、dify(&std,a);2.程序修改给定程序MODI1.C中函数fun的功能是:求k!,所求阶乘的值作为函数值返回。例如:若k=10,则应输出:3628800。long fun(int k)/*found*/if(k0) return (k*fun(k-1);/*found*/else if(k=0)return 1L;3.程序设计程序定义了N*N的二维数组,并在主函数中自动赋值。请编写函数fun(int a N,int n),函数的功能是:使数组左下三角元素中的值乘以n。int fun(int a N,int n) int i,j; for(i=0;iN;i+) for(j=0;jnext
6、;第2处 while(q)第3处 p=p-next;2.程序修改给定程序MODI1.C中函数fun的功能是:将s所指字符串中的字母转换为按字母序列的后续字母(但Z转换为A,z转换成a ),其它字符不变。 void fun(char *s)/*found*/while(*s) if(*sA&*s=a&*s=z) if(*s=Z)*s=A; else if(*s=z)*s=a; else *s=*s+1;/*found*/s+;3.程序设计void fun(int *w,int p, int n)int i,j=0,bN;for(i=p+1;in;i+)bj+=wi;for(i=0;i=p;i+)
7、bj+=wi; for(i=0;in;i+)wi=bi;第十套1程序填空给定程序中,函数fun的功能是:判定形参a所指的NN(规定N为奇数)的矩阵是否是“幻方”,若是,函数返回值为1;不是,函数返回值为0。“幻方”的判定条件是:矩阵每行、每列、主对角线及反对角线上元素之和都相等。第1处 row=colum=0;第2处 if(row!=colum)|(row!=m1)return 0;第3处 return 1;2程序修改给定MODI1.Cfun函数的功能是:根据整型形参m,计算如下公式的值。t=1-1/2-1/3-1/m.#include double fun( int m )double t
8、= 1.0;int i;for(i=2;inext;第2处 if (p=0) return;第3处 p=q; q=r;2.程序修改给定MODI1.Cfun函数的功能是:计算s所指字符串中含有t所指字符串的数目,并作为函数值返回。请改正函数fun中指定部位的错误,使它能得出正确的结果。# include # include #define N 80int fun(char *s, char *t)int n;char *p,*r;n=0;while (*s) p=s; /*found*/r=t; while (*r) if(*r=*p)r+;p+;else break;/*found*/if(*
9、r=0)n+;s+;return n;3程序设计请编写函数fun,函数的功能是:将放在字符串数组中的M个字符串(每串的长度不超过N),按顺序合并组成一个新的字符串,函数fun中给出的语句供供参考。void fun (char aMN),char *b)int i;*b=0;for(i=0;inext;第3处 q=r;2程序修改给定程序MODI1.C中函数fun的功能是:将s所指字符串中位于奇数位置的字符或ASCII码为偶数的字符放入t所指数组中(规定第一个字符放在第0位中)。#include#include#define N 80void fun(char *s,char t)int i,j=
10、0;for(i=0;istrlen(s);i+)/*found*/if(i%2| si%2=0)tj+=si;/*found*/tj=0;3程序设计请编写函数fun,函数的功能是:将M行N列的二维数组中的数据,按列的顺序依次放到一维数组中。函数fun中给出的语句仅供参考。#include void fun (int (*s)10,int *b, int *n, int mm, int nn)int i,j,np=0;for(i=0;inn;i+) for(j=0;jnext;第2处 q=p-next;第3处 if(p-data=q-data)2程序修改给定程序MODI1.C是建立一个带头结点的
11、单向链表,并用随机函数为各结点数据域赋值。函数fun的作用是求出单向链表结点(不包括头结点)数据域中的最大值,并且作为函数值返回。请改正函数fun中指定部位的错误,使它能得出正确的结果。fun ( NODE *h) int max=-1;NODE *p;/*found*/p=h-next;while(p) if (p-datamax)max=p-data;/*found*/p=p-next;return max;3程序设计请编写函数fun,函数的功能是:将M行N列的二维数组中的数据,按行的顺序依次放到一维数组中。一维数组中数据的个数存放在形参n所指的存储单元中。void fun( int (*
12、s)10,int *b, int *n, int mm, int nn)int i,j,k;for(i=0;imm;i+) for(j=0;jnext;while (p)if(p-data%2=0)sum +=p-data;/*found*/p=p-next;return sum;3程序设计 请编写函数fun,函数的功能是:判断字符串是否为回文?叵是,函数返回1,主函数中输出:YEX,否则返回0,主函数中输出NO。回文是指顺读t和倒读都一样的字符串。int fun(char *str) int i,j=strlen(str);for(i=0;ij/2;i+)if (stri!=strj-i-1
13、) return 0;return 1;第十五套1程序填空 程序通过定义学生结构体变量,存储了学生的学号,姓名和3门课的成绩。所有学生数据均以二进制方式输出到student.dat文件中。函数fun的功能是从指定文件中找出指定学号的学生数据,读入此学生数据,对该生的分数进行修改,使每门课的分数加3分,修改后重写文件中该学生的数据,即用该学生的背后数据覆盖原数据,其它学生数据不变;若找不到,则什么都不做。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。第1处 while(!feof(fp)第2处 if(n.sno=sno) break;第3处 fseek(fp,-1L*si
14、zeof(STU),SEEK CUR);2程序修改给定程序MODI1.C中函数fun的功能是:利用插入排序法对字符串中的字符按从小到大的顺序进行排序,插入法的基本算法是:先对字符串中的头两个元素进行排序,然后把第三个字符插入到前两个字符中,插入后前三个字符依然有序;再把第四个字符插入到前三个字符中,。待排序的字符串已在主函数中赋予。请改正函数fun中指定部位的错误,使它能得出正确的结果。void insert(char *aa)int i,j,n; char ch;/*found*/n=strlen(aa);for(i=1;i=0)&(chs;STREC *p;p=h-next;while(p
15、) if(p-smax)max=p-s;p=p-next;return max;第十六套1程序填空 给定程序中,函数fun的功能是:求出形参ss所指字符串数组中最长字符串的长度,将其余字符串右边用字符*补齐,使其与最长的字符串等长。Ss所指字符串数组中共有M个字符串,且串长N。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。第1处 n=strlen(ssi) ;第2处 ssin+j=*;第3处 ssin+j+1=0;2程序修改给定程序MODI1.C中fun函数的功能是:将p所指字符串中每个单词的最后一个字母改成大写。(这里的“单词”是指由空格隔开的字符串)。请改正程序中的
16、错误之处,使它能得出正确的结果。#includevoid fun(char *p)int k = 0;for( ; *p; p+ ) if( k )/*found*/if( *p =)k = 0;/*found*/* (p-1)=toupper(*(p-1);elsek=1;3程序设计 请编写函数fun,对长度为7个字符的字符串,除首、尾字符外,将其余5个字符ASCII码降序排列。int fun(char *s, int num)char ch;int i,j;for(i=1;i6;i+)for(j=i+1;j6;j+)if(*(s+i)(s+j) ch = *(s+j); *(s+j)=*(
17、s+i);*(s+i)=ch ;第十七套1程序填空 程序通过定义学生结构体数组,存储了若干名学生的学号、姓名和3门课的成绩。函数fun的功能是将存放学生数据的结构体数组,按照姓名的字典序(从小到大)排序。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。第1处 struct student t;第2处 for(i=0;i0)2程序修改给定程序MODI1.C中函数fun的功能是:在p所指字符串中找出ASCII码值最大的字符,将其放在第一个位置上;并将该字符前的原字符向后顺序移动。fun (char *p) char max, *q; int i=0;max=pi;while(
18、 pi!=0) if(maxp)*q=*(q-1);q-;p0=max;3程序设计学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写了函数fun,它的功能是:把指定分数范围内的学生数据放在b所指的数组中,分数范围内的学生人数由函数值返回。int fun (STREC *a, STREC *b,int l, int h)int i,j = 0;for(i=0;i=l&ai.s=h)bj+=ai;return j;/*程序中l是用L的小写*/第十八套1程序填空给定程序中,函数fun的功能是:将形参s所指字符串中的所有字母字符顺序前移,其他字符顺序后移,处理后新字符串的
19、首地址作为函数值返回。第1处 tj=si;j+;第2处 for(i=0;ik;i+) tj+i=pi;第3处 tj+k=0;2程序修改给定程序MODI1.C中函数fun的功能是:将s所指字符串中最后一次出现的与t1所指字符串相同的子串替换成t2所指字符串,所形成的新串放在w所指的数组中。在此处,要求t1和t2所指字符串的长度相同。int fun (char *s, char *t1, char *t2, char *w)int i; char *p,*r,*a;strcpy( w,s );/*found*/while (*w) p=w;r=t1;while (*r)/*found*/if (
20、*r=*p )r+;p+;else break;if (*r=0)a=w; w+;r=t2;while (*r)*a=*r;a+;r+;3程序设计函数fun的功能是:将s所指字符串中ASCII值为奇数的字符删除,串中剩余字符形成一个新串放在t所指的数组中。void fun (char *s, char t) int i,j=0; for(i=0;istrlen(s);i+)if(si%2=0)tj+=si;tj=0;第十九套1程序填空程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。函数fun的功能是将形参a所指结构体变量s中的数据进行修改,并把a中地址作为函数值返回主函数,在
21、主函数中输出修改后的数据。第1处 struct student *fun(struct student *a)第2处 for(i=0;iscorei+=1;第3处 return a;2程序修改给定程序MODI1.C中函数fun的功能是:从N个字符串中找出最长的那个串,并将其地址作为函数值返回。各字符串在主函数中输入,并放入一个字符串数组中。/*found*/char *fun(char (*sq)M) int i; char *sp;sp=sq0;for(i=0;iN;i+)if (strlen(sp)strlen(sqi)sp=sqi;/*found*/return sp;3程序设计函数fu
22、n的功能是:将a、b中的两个两位正整数合并形成一个新的整数放在c中。合并的方式是:将a中的十位和个位数依次放在变量c的百位和个位上,b中的十位和个位数依次放在变量c的十位和千位上。#include void fun (int a, int b, long *c) *c=(b%10)*1000+(a/10)*100+(b/10)*10+a%10;第二十套1程序填空给定程序中,函数fun的功能是:计算形参x所指数组中N个数的平均值,(规定所有数均为正数),将所指桑骂槐数组中小于平均值的数据移至数据的前部,大于等于平均值的数据移至x决指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的
23、数据。第1处for(i=0; iN; i+) av+=xi/N第2处yj=xi; xi=-1; j+;第3处i+; 2程序修改给定程序MODI1.C函数fun的功能是:统计字符串各元音字母(即:A、E、I、O、U)的个数。注意字母不分大、小写。fun (char *s, int num5) int k, i=5; for(k=0;k=0) numi+;3程序设计请编写函数fun,函数的功能是求出二级数组周边元素之和,作为函数值返回。二维数组中的值在主函数中赋予。int fun(int a MN)int tot = 0, i,j;for(i=0;iN;i+) tot +=a0i;tot +=aM
24、-1i;for (i=1;iM-1;i+) tot +=ai0; tot +=aiN-1; return tot;第21套1程序填空 给定程序中,函数fun的功能是:计算形参x所指数组中N个数的平均值(规定所有数均为正数),将所指数组中大于平均值的数据移至数组的前部,小于等于平均值的数据移至x所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。第1处 av=s/N;第2处 yj+=xi;xi=-1;第3处 if(xi!=-1) yj+=xi;2程序修改给定程序MODI1.C的功能是:读入一英文文本行,将其中每个单词的第一个字母改成大写,然后输出此文本行(这里的“单词”是指
25、由空格隔开的字符串) /*found*/#include /*found*/upfst (char *p)int k=0; for ( ; *p; p+)if (k) if (*p=)k=0;else if (*p!=)k=1; *p=toupper(*p);3程序设计程序定义了NN的二级数组,并在主函数中赋值,请编写函数fun,函数的功能是:求出数组周边元素的平均值并作出函数值返给主函数中的s。double fun (int wN) int i, j, n=0;double sum=0;for(i=0; iN;i+) sum+=w0i+wN-1i;n+=2;for (i=1;iN-1;i+)
26、 sum+=wi0+wiN-1;n+=2;return sum/n;第22套1程序填空 给定程序中,函数fun的功能是:将自然数110以及它们的平方根写到名为myfile3.txt的文本文件中,然后再顺序读出显示在屏幕上。第1处 fprintf(fp,%d%fn,i,sqrt(double)i);第2处 fclose(fp);第3处 if (fp=fopen(fname,r)=NULL)2程序修改给定程序MODI1.C中fun函数的功能是:将n个无序整数从小到大排序。 fun (int n,int *a ) int i,j,p,t;for(j=0; jn-1;j+) p=j;/*found*/
27、for (i=j+1; iai)/*found*/p=i;if (p!=j) t=aj;aj=ap;ap=t; 3程序设计 函数fun的功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的个位和百位上,b数的十位和个位数依次放在c数的十位和千位上。#include void fun (int a, int b, long *c)*c=(b%10)*1000+(a%10)*100+(b/10)*10+(a/10);第23套1程序填空 给定程序中,函数fun的功能是:找出N*N矩阵中每列元素中的最大值,并按顺序依次存放于形参b所指的一维数组中
28、。第1处 bi=a0i;第2处 if (biaji) bi=aji;第3处 fun(x,y);2程序修改给定程序MODI1.C中fun函数的功能是:交换主函数中两个变量的值。 /*found*/int fun(int *x,int *y) int t;/*found*/t=*x;*x=*y;*y=t;3程序设计编写函数fun,函数的功能是求出小于或等于lim的所有素数并放在aa数组中,函数返回所求出的素数的个数。函数fun中给出的语句仅供参考。#include #define MAX 100int fun(int lim, int aa MAX)int i, j, k=0;for(i=2;i=
29、lim;i+) for(j=2;j(i/2) aak+=i; return k;第24套1程序填空程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。函数fun的功能是将形参a中的数据进行修改,把修改后的数据作为函数值返回主函数进行输出。第1处 struct student fun(struct student a)第2处 strcpy(a.name,LiSi);第3处 a.scorei+=1;2程序修改假定整数数列中的数不重复,并存放在数组中。给定程序MODI1.C中函数fun的功能是:删除数列中值为x的元素。N中存放的是数列中元素的个数。 fun(int *a, int n,
30、int x) int p=0,i;an=x;while(x!=ap)p=p+1;/*found*/if(p=n) return -1else for (i=p;in;i+)/*found*/ai=ai+1;return n-1; 3程序设计学生的记录由学号和成绩组成。N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把分数最低的学生数据放在b所指的数组中,注意:分阶段数最低的学生可能不止一个,函数返回分数最低的学生的人数。int fun(STREC *a, STREC *b)int i,j=0,min=a0.s;for( i=0;iai.s)j=0;bj+=ai;mi
31、n=ai.s;else if (min =ai.s)bj+=ai;return j;第25套1程序填空人员的记录由编号和出生年、月、日组成,N名人员的数据已在主函数中存入结构体数组std中,且编号唯一。函数fun的功能是:找出指定编号人员的数据,作为函数值返回,由主函数输出,若指定编号不存在,返回数据中编号为空串。第1处 STU fun(STU *std, char *num)第2处 if(strcmp(stdi.num,num)=0)第3处 return (stdi);2程序修改给定程序MODI1.C中函数fun的功能是:从s所指字符串中,找出与t所指字符串相同的子串的个数作为函数值返回。i
32、nt 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; 3程序设计函数fun的功能是:将s所指字符串中ASCII值为偶数的字符删除,串中剩余字符形成一个新串放在t所指的数组中。#include #include void fun (char *s, char t)int i, j=0;for(i=0;inext;第3处 q=q-next;2程序修改给定程序MOD
33、I1.C中函数fun的功能是:用选择法对数组中的n个元素按从小到大的顺序进行排序。void fun (int a, int n) int i, j, t, p;for (j=0;jn-1;j+)/*found*/p=j;for(i=j;in;i+)if (aiap)/*found*/p=i;t=ap;ap=aj;aj=t; 3程序设计请编写一个函数fun,它的功能是:求出1到m之间(含m)能被7或11整除的所有整数放在数组a中,通过n返回这些数的个数。void fun (int m, int *a, int *n) int i;*n=0;for(i=7;i=m;i+) if(i%7=0)|(i
34、%11=0) a(*n)+=i;第27套1程序填空给定程序中,函数fun的功能是:计算下式前n项的和作为函数值返回。例如,当形参n的值为10时,函数返回:9.6125588s=(1*3)/22+(3*5)/42+(5*7)/62+(2*n-1)* (2*n+1)/(2*n)2(考试时公式用分式表示)第1处 s=0;第2处 for(i=1;i=eps) s+=t;n+;t=t*n/(2.0*n+1);return(s*2.0);第28套1程序填空 给定程序中,函数fun的功能是:统计形参s所指字符串中数字字符出现的次数,并存放在形参t所指的变量中,最后在主函数中输出。例如,形参s所指的字符串为:
35、abcdef35adgh3kjsdf7。输出结果为:4。第1处 for(i=0; si!= NULL; i+)第2 处 if(si=0&si=9 ) n+;第3 处 *t=n ; 2程序修改给定程序MODI1.C中函数fun的功能是:通过某种方式实现两个变量值的交换,规定不允许增加语句和表达式。例如变量a中的值原为8,b中的值原为3,程序运行后a中的值为3,b中的值为8。 int fun (int *x,int y) int t;/*found*/t=*x ; *x=y;/*found*/return(t);3程序设计请编写函数fun,它的功能是:求出1到1000之间能被7或11整除,但不能同
36、时被7和11整除的所有整数并将它们放在a所指的数组中,通过n返回这些数的个数。#include void fun (int *a, int *n) int i;*n=0;for(i=7;isno = 10004;第2处 strcpy(b-name,LiJie);第3处 fun(&t);2程序修改给定程序MODI1.C中函数fun的功能是:应用递归算法求形参a的平方根。求平方根的迭代公式如下:例如,a为2时,平方根值为:1.414214 x1=1/2*(x0+a/x0)(考试时是分数形式)/*found*/double fun(double a,double x0) double x1,y; x
37、1=(x0+a/x0)/2.0;/*found*/if(fabs(x1-x0)0.00001)y=fun(a,x1);else y=x1;return y; 3程序设计学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把高于等于平均分的学生数据放在b所指的数组中,高于等于平均分的学生人数通过形参n传回,平均分数通过函数值返回。double fun (STREC *a, STREC *b, int *n) double t=0;int i;*n=0;for(i=0;iN;i+)t=t+ai.s;t=t/N;for(i=0;it)b(*n)+=
38、ai;return t;第30套1程序填空 程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。函数fun的功能是将形参a所指结构体变量中的数据赋给函数中的结构体变量b,并修改b中的学号和姓名,最后输出修改后的数据。第1处 b=a;第2处 strcpy(b.name,LiSi)第3处 for(i=0;i0;n-)*q+=*;*q=0;第31套1程序填空 给定程序中,函数fun的功能是:对形参s所指字符串中下标为奇数的字符按ASCII码大小递增排序,并将排序后下标为奇数的字符取出,存入形参p所指字符数组中,形成一个新串。第1处 t=i;第2处 for(j=i+2; j=num) p
39、i=pi+t;n=n+2;s=-s;/*found*/ t=s/n; pi=pi*4;return pi;3程序设计请编写一个函数void fun (char a ,char b, int n),其功能是:删除一个字符串指定下标的字符。其中,a指向原字符串,删除指定字符后的字符串存放在b所指的n中存入指定的下标。void fun (char a,char b,int n) strncpy (b,a,n);bn=0;strcat(b,a+n+1);第32套1程序填空 给定程序中,函数fun的功能是:在形参ss所指字符串数组中,将所有串长超过k的字符串中右边的字符删除,只保留左边的k个字符。ss所
40、指字符串数组中共有N个字符串,且串长小于M。第1处 void fun(char (*ss) M, int k)第2处 while (ieps) s+=t;t=t*n/(2*n+1);n+;/*found*/return (2*s);3程序设计假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:将字符串的前导*号不得多于n个;若多于n个,则删除多于的*号;若少于或等于n个,则什么也不做,字符串中间和尾部的*号不删除。函数fun中给出的语句仅供参考。void fun(char *a,int n)int i=0,j,k=0;while(ak=*)k+;if(kn)i=n;j=k;for
41、(;aj!=0;j+) ai+=aj;ai=0;第33套1程序填空给定程序的功能是:调用 函数fun将指定源文件中的内容复制到指定的目标文件中,复制成功时函数返回值为1,失败时返回值为0。在复制的过程中,把复制的内容输出到终端屏幕。主函数中源文件名放在变量sfname中,目标文件名放在变量tfname中。第1处 if(fs=fopen(source,”r”)=NULL)第2处 while(!feof(fs)第3处 fputc(ch,ft);2程序修改给定程序MODI1.C中函数fun的功能是:将长整型中每一位上为偶数的数依次取出,构成一个新数放在t中。高位仍在高位,低位仍在低位。void fu
42、n(long s,long *t) int d;long s1=1;*t=0;while(s0) d=s%10;/*found*/if(d%2=0) *t=d*sl+*t; sl*=10;/*found*/s/=10;3程序设计函数fun的功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的十位和千位上,b数的十位和个位数依次放在c数的百位和个位上。void fun(int a,int b,long *c)*c=(a%10)*1000+(b/10)*100+(a/10)*10+(b%10);第34套1程序填空用筛选法可得到2n(n1000
43、0)之间的所有素数,方法是:首先从素数2开始,将所有2的倍数的数从数表中删去(把数表中相应位置的值置成0);接着从数表中找下一个非0数,并从数表中删去该数的所有倍数,依此类推,直到所找的下一个数等于n为止。这样会得到一个序列:2,3,5,7,11,13,17,19,23,函数fun用筛选法找出所有小等于n的素数,并统计素数的个数作为函数值返回。第1处 for(j=ai*2;j=n;j+=ai)第2处 while(ai=0)第3处 if(ai!=0) 2程序修改给定程序MODI1.C中函数fun的功能是:为一个偶数寻找两个素数,这两个素数之和等于该偶数,并将这两个素数通过形参指针传回主函数。 v
44、oid fun(int a,int *b,int *c) int i,j,d,y;for(i=3;i=a/2;i=i+2)/*found*/y=1;for(j=2;j=sqrt(double)i);j+)if(i%j=0)y=0;if(y=1)/*found*/d=a-i;for(j=2;j=sqrt(double)d);j+) if(d%j=0)y=0;if(y=1) *b=1;*c=d;3程序设计请编写函数fun,它的功能是:计算并输出n(包括n)以内能被5或9整除的所有自然数的倒数之和。double fun(int n)int i;double sum=0.0;for(i=1;i=n;i
45、+) if(i%5=0|i%9=0) sum+=1.0/i;return sum;第35套1程序填空 给定程序中,函数fun的功能是建立一个NN的矩形。矩阵元素的构成规律是:最外层元素的值全部为1;从外向内第2层元素的值全部为2;第3层元素的值全部为3,依次类推。第1处 void fun(int (*a)N)第2处 for(j=i;jN-i;j+)第3处 aki=akN-i-1=i+1;2程序修改给定程序MODI1.C中函数fun的功能是:将十进制正整数m转换成k(2k9)进制数,并按高位到低位顺序输出。 void fun(int m,int k)int aa20,i;for(i=0;m;i+
46、)/*found*/aai=m%k;m/=k;for( ; i; i-)/*found*/printf(“%d”,aai-1);3程序设计编写一个函数,从num个字符串中找出最长的一个字符串,并通过形参指针max传回该串地址。(注意:主函数中用*作为结束输入的标志,函数fun中给出的语句仅供参考)fun(char (*a)81,int num,char *max)int i,k=0,maxlen;maxlen=strlen(ak);for(i=1;imaxlen) maxlen=strlen(ai);k=i;*max=ak;第36套1程序填空 给定程序中,函数fun的功能是:统计出带有头结点的
47、单向链表中结点的个数,存放在形参n所指的存储单元中。第1处 *n=0;第2处 p=p-next;第3处 fun(head,&num);2程序修改给定程序MODI1.C中函数fun的功能是:求出s所指字符串最后一次出现的t所指子字符串的地址,通过函数值返回,在主函数中输出从此地址开始的字符串;若未找到,则函数值NULL。 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
48、 a;3程序设计函数fun找功能是:将s所指字符串中除了下标为偶数,同时ASCII值也为偶数的字符外,其余的全部都删除;串中剩余字符所形成的一个新串放在t所指的数组中。void fun(char *s,char t )int i,j=0;for(i=0;istrlen(s);i+=2)if(si%2=0)tj+=si;tj=0;第37套1程序填空 给定程序中,函数fun的功能是:在形参ss所指字符串数组中,查找含有形参substr所指子串的所有字符串并输出,若没找到输出相应信息。ss所指字符串数组中共有N个字符,且串长小于M。程序中库函数strstr(s1,s2)的功能是在s1串中查找s2子串
49、,若没有,函数值为0,若有,为非0。第1处 for(i=0;iN;i+)第2处 if(strstr(ssi,substr)!=NULL)第3处 if(find=0)2程序修改给定程序MODI1.C中函数fun的功能是:求三个数的最小公倍数。 /*found*/fun(int x,int y,int z) int j,t,n,m;j=1;t=j%x;m=j%y;n=j%z;while(t!=0|m!=0|n!=0) j=j+1; t=j%x;m=j%y;n=j%z;/*found*/return j;3程序设计假定输入的字符串中只包含中只包含字母和*号。请编写函数fun,它的功能是:只删除字符串
50、前导和尾部的*号,串中字母之间的*号都不删除。形参n给出了字符串的长度,形参h给出了字符串中前导*号的个数,形参e 给出了字符串中最后*号的个数。在编写函数时,不得使用C语言提供的字符串函数。void fun(char *a,int n,int h,int e) char *p=a;int j=0,len=0;while(*p) p+;len+;while(jlen-h-e)aj=ah+j;j+;aj=0;第38套1程序填空 函数fun的功能是:反形参a所指数组中的奇数按原顺序依次存放到a0、a1、a2、中,把偶数从数组中删除,奇数个数通过函数值返回。例如:若a所指数组中的数据最初排列为:9、
51、1、4、2、3、6、5、8、7,删除偶数后a所指数组中的数据为:9、1、3、5、7,返回值为5。第1处if(ai%2=1)第2处 j+;第3处 return j;2程序修改给定程序MODI1.C中函数fun的功能是:求出两个非零正整数的最大公约数,并作为函数值返回。 int fun(int a,int b) int r,t;if(ab)/*found*/t=a;a=b;b=t;r=a%b;while(r!=0) a=b;b=r;r=a%b;/*found*/return (b);3程序设计假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:删除字符串中所有的*号。在编写函数时,不
52、得使用C语言提供的字符串函数。void fun(char *a)int j=0;char *p=a;while(*p)if(*p!=*)aj+=*p;p+;aj=0;第39套1程序填空 给定程序中,函数fun的功能是:在形参ss所指字符串数组中,删除所有串长超过k的字符串,函数返回所剩字符串的个数。ss所指字符串数组中共有N个字符串,且串长小于M。第1处for(i=0;iN;i+)第2处 if(len=k)第3处 strcpy(ssj+,ssi);2程序修改给定程序MODI1.C中函数fun的功能是:逐个比较p、q所指两个字符串对应位置中的字符,把ASCII值大或相等的字符依次存在放到c所指数
53、组中,形成一个新的字符串。 void fun(char *p,char *q,char *c)/*found*/int k=0;/*found*/while(*p|*q) if(*pdata=x;第2处 q=p;第3处 q-next=s;2程序修改给定程序MODI1.C中函数fun的功能是:计算正整数num的各位上的数字之积。 long fun(long num)/*found*/long k=1;do k*=num%10;/*found*/num/=10;while(num);return (k);3程序设计请编写一个函数fun,它的功能是:计算n门课程的平均分,计算结果作为函数返回。flo
54、at fun(float *a,int n)int i;float ave=0.0;for(i=0;in;i+)ave=ave+ai;ave=ave/n;return ave;第41套1程序填空 给定程序中,函数fun的功能是:计算x所指数组中N个数的平均值(规定所有数均为正数),平均值通过形参返回主函数,将小于平均值且最接近平均值的数作为函数值返回,在主函数中输出。第1处 *av=s/N;第2处 d=*av-xi;j=i;第3处 return xj;2程序修改给定程序MODI1.C中函数fun的功能是:根据整型形参n计算如下公式的值。例如:若n=10,则应输出:0.617977。 A1=1,
55、A2=1/(1+A1),A3=1/(1+A2),An=1/(1+An-1)/*found*/float fun(int n) float A=1;int i;/*found*/for(i=2;i=n;i+)A=1.0/(1+A);return A;3程序设计程序定义了NN的二维数组,并在主函数中自动赋值。请编写函数fun,函数的功能是:使数组右上三角元素中的值乘以m。int fun(int aN,int m)int i,j;for(i=0;iN;i+) for(j=i;jN;j+)aij* = m;第42套1程序填空 给定程序中,函数fun的功能是:将s所指字符串中的所有数字字符移到所有非数字
56、字符之后,并保持数字字符串和非数字字符串原有的先后次序。第1处j+;第2处 si=t1i;第3处 for(i=0;ij;i+)2程序修改给定程序MODI1.C中函数fun的功能是:用冒泡法对6个字符串按由小到大的顺序进行排序。 fun(char *pstr6) int i,j;char *p;for(i=0;i5;i+)/*found*/for(j=i+1;j0)p=*(pstr+i);/*found*/*(pstr+i)=*(pstr+j);*(pstr+j)=p;3程序设计请编写函数fun,它的功能是:求出ss所指字符串中指定字符的个数,并返回此值。int fun(char *ss,cha
57、r c)int cnt=0;char *p=ss;while(*p)if(*p=c)cnt+;p+;return cnt;第43套1程序填空 给定程序中,函数fun的功能是:在形参ss所指字符串中查找与形参t所指字符串相同的串,找到后返回该串在字符串中的位置(下标值),未找到则返回-1。ss所指字符串数组中共有N个内容不同的字符串,且串长小于M。第1处 for(i=0;iN;i+)第2处 if(strcmp(ssi,t)=0) return i;第3处 if(n=-1) printf(“nDont found!n”);2程序修改给定程序MODI1.C中函数fun的功能是:从整数1到55之间,选
58、出能被3整除、且有一位上的数是5的那些数,并把这些数放在b所指的数组中,这些数的个数作为函数值返回。规定,函数中a1放个位数,a2放十位数。 fun(int *b) int k,a1,a2,i=0;for(k=10;k=0&ch=9)第3处 return 9-(ch-0);2程序修改给定程序MODI1.C中函数fun的功能是:将p所指字符串中的所有字符复制到b中,要求复制第三个字符之后插入一个空格。 void fun(char *p,char *b) int i,k=0;while(*p) i=1;while(inext;double av=0.0;int n=0;while(p!=NULL)
59、av=av+p-s;p=p-next;n+;av/=n;return av;第45套1程序填空 函数fun的功能是:把形参a所指数组中的偶数按原顺序依次存放到a0、a1、a2、中,把奇数从数组中删除,偶数个数通过函数值返回。第1处if(ai%2=0)第2处 aj=ai;j+;第3处 return j;2程序修改给定程序AODI1.C中函数fun的功能是:按以下递归公司求函数值。例如,当给n输入5时,函数值为18;当给n输入3时,函数值为14。 10 (n=1)fun(n)= fun(n-1)+2(n1)#include /*found*/fun(int n) int c;/*found*/if
60、(n=1)c=10;else c=fun(n-1)+2;return (c);3程序设计假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:使字符串中尾部的*号不得多于n个;若多于n个,则删除多余的*号;若少于或等于n个,则什么也不做,字符串中间和前面的*号不删除。void fun(char *a,int n)char *p=a;int j=0;while(*p)p+; p-;while(*p=*)p-;p+;while(jn&*p)p+;j+;*p=0;第46套1程序填空 给定程序中,函数fun的功能是:利用指针数组对形参ss所指字符串数组中的字符串按由长到短的顺序排序,并输入
61、排序结果。ss所指字符串数组中共有N个字符串,且串长小于M。第1处k=i;第2处 if(strlen(psk)strlen(psj)k=j;第3处 tp=psi;psi=psk;psk=tp;2程序修改已知一个数列从第0项开始的前三项分别为0,0,1,以后的各项都是其相邻的前三项之和。给定程序MODI1.C中函数fun的功能是:计算并输出该数列前n项的平方根之和。n的值通过形参传入。 /*found*/double fun(int n) double sum,s0,s1,s2,s;int k;sum=1.0;if(n=2)sum=0.0;s0=0.0;s1=0.0,s2=1.0;for(k=4
62、;k=n;k+) s=s0+s1+s2;sum+=sqrt(s);s0=s1;s1=s2;s2=s;/*found*/return sum;3程序设计编写函数fun,它的功能是计算下列级数和,和值由函数值返回。例如,当n=10,x=0.3时,函数值为1.349859.S=1+x+x2/2!+x3/3!+xn/n!double fun(double x,int n)double s=1.0,y=x;int i;for(i=1;i=n;i+)s+=y/(double)jc(i);y*=x;return s;第47套1程序填空给定程序中,函数fun的功能是:找出形参s所指字符串中出现频率最高的字母(
63、不区分大小写),并统计出其出现的次数。第1处ch=tolower(*s);第2处 kn+=1;第3处 if(maxkn)max=kn;2程序修改给定程序MODI1.C中函数fun的功能是:求S的值。例如,当K为10时,函数值应为1.533852。s=12/(1*3) * 42/(3*5)*62/(5*7) +/*found*/float fun(int k) int n;float s,w,p,q;n=1;s=1.0;while(n=k) w=2.0*n;p=w-1.0;q=w+1.0;s=s*w*w/p/q;n+;/*found*/return s;3程序设计编写函数fun,它的功能是计算并
64、输出下列级数和:例如,当n=10时,函数值为0.909091。s=1/(1*2)+1/(2*3)+1/n(n+1)double fun(int n)double s=0.0;int i;for(i=1;i=2)&(mc10)/*found*/if(k%13=0)|(k%17=0) m=m+k;mc+;k-;return m;/*found*/3程序设计编写函数fun,它的功能是:求小于形参n同时能被3与7整除的所有自然数之和的平方根,并作为函数值返回。double fun(int n)double sum=0.0;int i;for(i=21;i=n;i+)if(i%3=0)&(i%7=0)s
65、um+=i;return sqrt(sum);第49套1程序填空 给定程序中,函数fun的功能是:将形参s所指字符串所有ASCII码小于97的字符存入形参t所指字符数组中,形成一个新串,并统计出符合条件的字符个数作为函数值返回。第1处 *(t+n)=*s;n+;第2处 s+;第3处 return n;2程序修改给定程序MODI1.C中函数fun的功能是:由形参给定n个实数,输出平均值,并统计在平均值以上(含平均值)的实数个数。 int fun(float x,int n)/*found*/int j,c=0;float xa=0.0;for(j=0;jn;j+)xa+=xj/n;printf(
66、“ave=%fn”,xa);for(j=0;j=xa)c+;return c;3程序设计编写函数fun,其功能是:根据以下公式求p的值,结果由函数值带回。m与n为两个正整数且要求mn。p=m!/(n!*(m-n)!)float fun(int m,int n)float p;p=1.0*jc(m)/jc(n)/jc(m-n);return p;第50套1程序填空 给定程序中,函数fun的功能是:有NN 矩阵,以主对角线为对称线,对称元素相加并将结果存放在左下三角元素中,右上三角元素来。第1处 void fun(int (*t)N)第2处 tij=tij+tji;第3处 tji=0;2程序修改给
67、定程序MODI1.C中函数fun的功能是:计算函数的值, F(x,y,z)=(x+y)/(x-y)+(z+y)/(z-y) 其中x和y的值不等,z和y的值不等。例如,当x的值为9、y的值为11、z的值为15时,函数值为-3.50。 /*found*/#define FU(m,n) (m)/(n)float fun(float a,float b,float c) float value;value=FU(a+b,a-b)+FU(c+b,c-b);/*found*/return (value);3程序设计规定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:将字符串中的前导*号全部删
68、除,中间和尾部的*号不删除。void fun(char *a)int j=0;char *p=a;while(*p=*)p+;while(*p)aj+=*p;p+;aj=0;第51套1程序填空 给定程序中,函数fun的功能是:计算出形参s所指字符串中包含的单词个数,作为函数值返回。为便于统计,规定各单词之间用空格隔开。第1处 n+;flag=1;第2处 if(*s=)flag=0;第3处 s+;2程序修改给定程序MODI1.C中函数fun的功能是:从n(形参)个学生的成绩中统计出低于平均分的学生人数,此人数由函数值返回,平均分存放在形参aver所指的存储单元中。 inf fun(float *
69、s,int n,float *aver) float ave,t=0.0; int count=0,k,i; for(k=0;kn;k+)/*found*/t+=sk;ave=t/n;for(i=0;in;i+)if(siave)count+;/*found*/*aver=ave;return count;3程序设计请编写函数fun,其功能是求出数组的最大元素在数组中的下标并存放在k所指的存储单元。int fun(int *s,int t,int *k)int i,pos=0,max=*s;for(i=1;it;i+)if(max*(s+i)max=*(s+i);pos=i; *k=pos;第
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 针对 2012 月份 计算机 二级 考试 语言 100