《2023年9月全国计算机等级考试二级C语言上机题库(共70套全).pdf》由会员分享,可在线阅读,更多相关《2023年9月全国计算机等级考试二级C语言上机题库(共70套全).pdf(89页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、2023年 9 月全国计算机等级考试二级C 语言上机题库(共70套全)第一套1 程序填空给定程序中,函数fun的功能是:反形参a 所指数组中的最大值放在a0中,接着求出a 所指数组中的最小值放在al中;再把a 所指数组元素中的次大值放在a2中,吧a 组元素中的次小值放在a3中,依此类推。第 1 处 void fun(int*a,int n)第 2 处 for(i=0;in-1;i+=2)第 3 处 for(j=i+l;jn;j+)2 程序修改给定程序modil.c中函数fun函数功能是:按顺序给s 所指数组中元素赋予从2 开始的偶数,然后再按顺序对每五个元素求平均值,并将这些值依次存放在w 所
2、指的数组中,若 s 所指数组中元素个数不是5 的倍数,多余部分忽略不计。/*found*/sum=0.0;/*found*/if(i+l)%5=0)3 程序编写学生的记录由学号和成绩组成,N 名学生的数据已在主函数中放入结构体数组s中,低于平均分的学生人数通过形参n 传回。平均分通过函数值返回。double fun(STREC*a,STREC*b,int*n)(int i;double ave=0.0;*n=0;for(i=0;iN;i+)ave=ave=a i.S;ave/=N;for(i=0;iN:i+)if(a i.save)b*n=a i;(*n)+;)return ave;第二套1
3、程序填空给定程序中,函数fun的功能是:统计所有 2)的素数的个数,素数的个数作为函数值返回。第 1 处 for(j=2;j=i)2 程序修改数列中,第一项值为3,后一项都比前一项的增5;给定程序modil.c中函数fun函数功能是:计算前n(4nl&n=100)for(i=l;i=n;i+)sum+=1.0/(2*i-1)-1.0/(2*i);)return sum;)第三套1 程序填空给定程序中,函数fun的功能是:f(x)=l+x+x?/+xn/n!直到|x/n!|vl(y 6,若 x=2.5,函数值为:12.182494。第 1 处 f=l.0+x;第 2 处 t*=x/n第 3 处
4、f+=t;2 程序修改给定程序MODI1.C中fun函数的功能是:计算n 的5 次方的值(规定n 的值大于2 小于8),通过形参指针传向主函数,并计算该值的个位、十位、百位上的数字之和作为函数值返回。/*found*/d=l;s=0;/*found*/d=d/10;3 程序设计请编写一个函数fu n,它的功能是:计算并输出给定数组(长度为9)中每相邻两个元素之平均值的平方根之和。double fun(double x9)(int i;double avg=0.0,sum=0.0;for(i=0;i8;i+)avg=(x i+x i+l)/2;sum+=sqrt(avg);)rturn sum;
5、)第四套1 程序填空给定程序中,函数fun的功能是:计算f(x)=l+x+x2/+c,+x*7n!的前n 项。若 x=2.5,函数值为:12.182340。第 1 处 t=l;第 2 处 for(i=1 ;in;i+)第 3 处 t*=x/i;2 程序修改给定程序MODI1.C中fun函数的功能是:找出100至 n(n 不大于1000)之间三位数字相等的所有整数,把这些整数放在s 所指数组中,个数作为函数值返回。/*found*/k=i;/*found*/c=k%10;3 程序设计请编写一个函数fu n,它的功能是:计算并输出给定10个数的方差:例如,给定的 10 个数为 95.0、89.0、
6、76.0、65.0、88.0、72.0、85.0、81.0、90.0、56.0、1 输出为 s=11.730729.double fun(double x 10)Int i;double avg=0.0,sum=0.0,abs=0.0,fc;for(i=0;i10;i+)sum+=x i;avg=sum/10;for(i=0;inext;第 2 处 printf(%d,t-data);第 3 处 free(t);2 程序修改给定程序M0DI1.C中fun函数的功能是:将字符串中的字符按逆序输出,但不改变字符串中的内容。/*found*/fun(char*a)/*found*/printf(%c
7、,*a);3 程序设计编写一个函数fu n,它的功能是:比较两个字符串的长度(不得调用C 语言提供的求字符串长度的函数),函数返回较长的字符串。若两个字符串长度相同,则返回第一个字符串。char*fun(char*s,char*t)(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;第六套1.程序填空给定程序中,函数fun的功能是:将形参s 所指定字符串中所有的字母字符顺序前移,其他字母顺序后移,处理后字符串的首地址作为函数值返回。第一处 tj=si;j+
8、;第二处 for(i=0;ik;i+)tj+i=pi;第三处tj+k=O;2.程序修改给定程序MODILC中函数ftm的功能是:将 s 所指字符串中最后一次出现的与t l 所指字符串相同的子串替换成t2所指定字符串,所形成的新串放在w 所指的数组中。在此处,要求t l 和 t2所指字符串的长度相同。/*found*/while(*w)/*found*/if(*r-*p)3.程序设计函数fun的功能是:将 s 所指字符串中ASCII值为奇数的字符删除,串中剩余字符形成一个新串放在t 所指定的数组中。void fun(char*s,char t)int i,j=0;for(i=0;istrlen(
9、s);i+)if(s i%2=0)tj+=s i;tj=O;)第七套1.程序填空程序通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。函数fun的功能是将形参a 所指结构体变量s 中的数据进行修改,并把a 中地址作为函数值返回主函数,在主函数中输出修改后的数据。第一处 struct student*fun(struct student*a)第二处 for(i=0;iscorei+=l;第三处return a;2.程序修改给定程序MODILC中函数fun的功能是:从 N 个字符串中找出最长的那个串,并将其地址作为函数值返回。各字符串在主函数中输入,并放在一个字符串数组中。/*foun
10、d*/char*fun(char(*sq)M)/*found*/return sp;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;)第八套1.程序填空函数fun的功能是:将形参观者工所指数组中的前半部分元素中的值和后半部分元素中的值对换。形参n中存放数组中数据的个数,若n为奇书,则中间元素不动。
11、第一处 p=(n%2=0)?n/2:n/2+l;第二处 ai=ap+i;第三处ap+i=t;2.程序修改给定程序MODI1.C中函数fun的功能是:把主函数中输入的三个数,最大的放在a中,最小的放在c中,中间的放在b中。/*found*/float k;/*found*/if(*a*c)3.程序设计学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写了函数fu n,它的功能是:把分数最高的学生数据放在b所指的数组中,注意:分数最高的学生可能不止一个,函数返回分数最高的学生的人数。int fun(STREC*a,STREC*b)(int i,max=a0.s,n=0;
12、for(i=l;iN;i+)if(maxai.s)max=ai.s;for(i=0;iN;i+)if(max-ai.s)bn+=ai;return n;)第九套1.程序填空给定程序中,函数fun的功能是:计算形参x所指数组中N个数的平均值,(规定所有数均为正数),将所指数组中小于平均值的数据移至数据的前部,大于等于平均数的移至x所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。第一处 for(i=0;iN;i+)av+=xi/N第二处 yj=xi;xi=-l;j+;第 三 处i+;2.程序修改给定程序MODILC中函数fun的功能是:统计字符串各元音字母(即:A、E、I
13、、O、U)的个数。注意字母不分大小写。/*found*/numk=O;/*found*/switches)3.程序设计请编写函数fu n,函数的功能是:求出二级数组周边元素之和,作为函数值返回。二维数组中的值在主函数中赋予。int fun(int a MN)int tot=0,i,j;for(i=0;iN;i+)(tot+=a0i;tot+=aM-li;)for(i=;i+)tot+=ai0;tot+=aiN-l;)return tot;)第十套1.程序填空程序通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。函数fun的功能是将形参a中的数据进行修改,把修改后的数据作为函数值返回
14、主函数进行输出。第一处 struct studentfun(struct student a)第二处 strcpy(a.name,LiSi);第三处 a.scorei+=l;2程序修改假定整数数列中的数不重复,并存放在数组中。给定程序MODI1.C中函数fun的功能是:删除数列中值为x的元素。N中存放的是数列中元素的个数。/*found*/if(p=n)return-1/*found*/ai=ai+l;3.程序设计学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写了函数fu n,它的功能是:把分数最低的学生数据放在b所指的数组中,注意:分数最低的学生可能不止一个,
15、函数返回分数最低的学生的人数。int fun(STREC*a,STREC*b)(int i,j=O,min=aO.s;for(i=0;iai.s)j=0;bj+-ai;min=ai.s;)else if(min-ai.s)bj+=ai;)return j;)第十一套1.程序填空给定程序中,函数fun的功能是:计算形参x所指数组中N个数的平均值,(规定所有数均为正数),将所指数组中大于平均值的数据移至数据的前部,小于等于平均数的移至x所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。第一处 av=s/N;第二处 yj+=xi;xi=-l;第三处 if(xi!=-l)y|j
16、+=xi;2.程序修改给定程序M 0DI1.C中函数fun的功能是:读入一行英文文本行,将其中每个单词的第一个字母改成大写,然后输出次文本行(这里的“单词”是指由空格隔开的字符串)。/*found*/#include/*found*/upfst(char*p)3.程序设计程序定义了 N X N的二级数组,并在主函数中赋值,请编写函数f u n,函数的功能是:求出数组周边元素的平均值并作出函数值饭给主函数中的Sodouble fun(int wN)int i,j,n=0;double sum=0;for(i=0;iN;i+)sum+=wOi+wN-li;n+=2;for(i=l;iN-l;i+)
17、sum+=wi 0+wi N-1 ;n+=2;)return sum/n;)第十二套1.程序填空给定程序中,函数fun的功能是:将自然数110以及它们的平方根写到名为myfile3.txt的文本文件中,然后再顺序读出显示在屏幕上。第一处 fprintf(fp,%d%fn,i,sqrt(double)i);第二处 fclose(fp);第三处 if(fp=fopen(fname,r,)-NULL)2.程序修改给定程序MODI1.C中函数fun的功能是:将n个无序整数从小到大排序。/*found*/for(i=j+l;in;i+)/*found*/p=i;3.程序设计函数fun的功能是:将a、b中
18、的两位正整数合并形成一个新的整数放在c中。合并的方式是:将a中的十位和个位依次放在变量c的个位和百位上,b中的十位和个位数依次放在变量c的十位和千位上。#include void fun(int a,int b,long*c)*c=(b%10)*1000+(a%10)*100+(b/l 0)*10+(a/l 0);第十三套1.程序填空给定程序中,函数fun的功能是:找出N*N矩阵中每列元素中的最大值,并按顺序一次存放于形参b所指的一维数组中。第一处 bi=a0i;第二处 if(biaji)bi=aUi;第三斑fun(x,y);2.程序修改给定程序MODI1.C中函数fun的功能是:交换主函数中
19、的两个变量的值。/*found*/int fun(int*x,int*y)/*found*/t=*x;*x=*y;*y=t;3.程序设计编写函数f u n,函数的功能是求出小于或等于lim的所有素数并放在aa数组中,函数返回所求出的素数的个数。函数fun中给出的语句仅供参考。#include#define MAX 100int fun(int lim,int aaMAX)int i,j,k=O;for(i=2;i=lim;i+)for(j=2;j(i/2)aak+=i;return k;第十四套1.程序填空函数fun的功能是进行字母转换。若形参c h中小写英文字母,则转换成相应的大写英文字母;
20、若形参c h中是大写英文字母,则转换成相应的小写英文字母;并将转换的结果作为函数值返回。第一处 if(ch=,a,)&(ch=,z,)第二处 returnch+a-A第三处return ch;2.程序修改给定程序MODILC中函数fun的功能是:给一维数组a 输入任意四个整数并按下列的规律输出。例如输出1、2、3、4,程序输出一下方阵。a)1 2 33 4 1 22 3 4 11 2 3 4/*found*/void fun(int*a)/*found*/aj=aj-l;3.程序设计请编写函数fu n,函数的功能是:计算并输出给定整数n 的所有因子(不包过1和 n 本身)之和。规定n 的值不大
21、于1000.int fun(int n)(int s=0,i;for(i=2;in;i+)if(n%i=0)s+=i;return s;)第十五套1.程序填空给定程序中,函数的功能是:把形参s 所指字符串下标为奇数的字符右移到下一个奇书位置,最右边呗移出字符串的字符绕回放到第一个奇数位置,下标为偶数的字符不动(注:字符串的长度大于等于2)。例如,形参s 所指的字符串为:abcdefgh,执行结果为:ahcbedg o第一处 if(n%2=0)k=n-l;第二处 c=sk;第三处sl=c;2.程序修改给定程序MODILC中函数fun的功能是:求 s=aaaa-aaaaaa(此处aaaa表示n 个
22、 a,a 和 n 的值在1至 9 之间)。/*found*/long s=O,t=O;/*found*/t=t/10;3.程序设计请编写一个函数void fun(char*tt,int pp),统计在tt所指字符串中a至 z 26个小写字母各自出现在的次数,并依次放在pp数组中。void fun(char*tt,int pp)char*p=tt;int i;for(i=0;i=,a,&*p=,z,)pp*p-H+=l;P+;)第十六套1.程序填空人员的记录由编号和出生年、月、日组成,N名人员的数据已在主函数中存入结构体数组std中,且编号唯一。函数fun的功能是:找出指定编号人员数据,作为函数
23、值返回,由主函数输出,若指定编号不存在,返回数据中编号为空串。第 1 处 STU fun(STU*std,char*num)第 2 处 if(strcmp(stdi.num,num)=0)第 3 处 return(stdi);2.程序修改给定程序M ODILC中函数fu n的功能是:从s所指字符串中,找出与t所指字符串相同的子串的个数作为函数值返回。/*found*/r+;p+;/*found*/if(*r=0)3.程序设计函数fun的功能是:将s所指字符串中ASCII值为偶数的字符删除,串中剩余字符形成一个新串放在t所指数组中。#include#include void fun(char*s
24、,char t)int i,j=0;for(i=0;i=0&sik=9)n+;第 3 处*t=n;2.程序修改给定程序MODI1.C中函数fun的功能是:通过某种方式实现两个变量的交换,规定不允许增加语句和表达式。例如变量a 中的值原为8,b 中的值原为3,程序运行后a 中值为3,b 中的值为8./*found*/t=*x;*x=y;/*found*/return(t);3.程序设计请编写函数fu n,函数的功能是:求出1 到 1000之间能被7 或 11整除,但不能同时被7 和 11整除的所有整数并将它们放在a 所指的数组中,通过n 返回这些数的个数。#include viod fun(in
25、t*a,int*n)int i;*n=0;for(i=7;i1000;i+)if(i%7)=0|(i%ll)=0&(i%77)!=0)a(*n)+=i;)第十八套1.程序填空给定程序中,函数fun的功能是:有 NXN矩阵,根据给定的m(m=n)值,将每行元素中的值均右移m 个位置,左边值为0.第 1 处 for(i=0;iN;i+)第 2 处 tij+m=tij;第 3 处 for(j=0;jm;j+)2.程序修改给定程序MODI1.C中函数fun的功能是:计算并输出high以内最大的10个素数之和。high的值由主函数传给fun函数。/*found*/while(2=high)&(n0.00
26、0001);return xl;)第十九套1 .程序填空给定程序中,函数fun的功能是:将 a 所指的3X5矩阵中第k 列的元素左移到第0 歹U,第 k 列以后的每列元素行依次左移,原来左边的各列依次绕到右边。第 1 处 for(p=1 ;p=k;p+)第 2 处 for(j=0;jN-l;j+)aiUWiU+l;第 3 处 aiN-l=temp;2.程序修改给定程序MODI1.C中函数fun的功能是:根据形参m 的值(2=m=9),在 m 行 m 列的二维数组中存放如下所示规律的数据,由 main函数输出。例如,若输入2 则输出:1 22 4/*found*/fun(int aM,int m
27、)/*found*/ajk=(k+D*(j+D;3.程序设计函数fun的功能是:将 a、b 中的两位正整数合并形成一个新的整数放在c中。合并的方式是:将 a 中的十位和个位依次放在变量c 的十位和千位上,b 中的十位和个位数依次放在变量c 的个位和百位上。void fun(int a,int b,int*c)*c=(a%10)*1000+(b%10)*100+(a/10)*10+(b/10);)第二十套1.程序填空给定程序中,函数fun的功能是:对形参s 所指字符串中下标为奇数的字符 ASCH码大小递增排序,并将排序后的下标为奇数的字符取出,形成一个新串。第 1 处 t=i;第 2 处 for
28、(j=i+2;j=num)/*found*/t=s/n3.程序设计请编写一个函数void fun(char a,char b口,int n),其功能是:删除一个字符串指定下标的字符。其中,a 指向原字符串,删除指定字符后的字符串放在b 所指的n 中存入指定的下标。viod fun(char a,charb,int n)(strncpy(b,a,n);bn=0;strcat(b,a+n+l);)第二十一套1.程序填空给定程序中,函数fun的功能是:在形参ss所指字符串数组中,将所有串长超过k 的字符串右边的字符删去,只保留左边的k 个字符。s s 所指字符串数组中共有N 个字符串,且串小于M。第
29、一处 void fun(char(*ss)M,int k)第二处 while(in)(i=n;j=k;for(;aj!=0;j+)ai+=alj;ai=0;)第二十二套1.程序填空给定程序中,函数fun的功能是:a 所指4X 3矩阵中第k 行的元素与第0行元素交换。例如:有下列矩阵1 2 34 5 67 8 910 11 12若 k 为 2,程序执行结果为7 8 94 5 61 2 310 11 12第一处 void fun(int(*a)N,int k)第二处 for(i=0;iN;i+)第三处 aOi=aki;2.程序修改给定程序M 0DI1.C中函数fun的功能是:读入一个字符串(长度t
30、j+l)3.程序设计请编写函数f u n,函数的功能是:将ss所指字符串中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换)。void fun(char*ss)(char*p=ss;inr i=0;while(*p)if(i%2)&(*p=H&*p-,z,)*p_=32;P+;i+;第二十三套1.程序填空给定程序的功能是:调用函数fun将指定源文件中的内容复制到指定的目标文件中,复制成功时函数的返回值是1,失败是返回值是0.在复制的过程中,把复制的内容输出到终端屏幕。主函数源文件名放在变量sfname中,目标文件放在变量tfname中。第一处if(fs=fopen(sourc
31、e,r,)=NULL)第二处 while(!feof(fs)第三处 fputc(ch,ft);2.程序修改给定程序MODI1.C中函数fun的功能是:将长整型中每一位上为偶数的数依次取出,构成一个新数放在t中。高位仍在高位,低位仍在低位。/*found*/if(d%2=0)/*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/
32、10)*100+(a/10)*10+(b%10);第二十四套1.程序填空程序通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。函数fun的功能是将形参a 所指结构体变量中的数据赋给函数中的结构体变量b,并修改b 中的学号和姓名,最后输出修改后的数据。第一处b=a;第二处 strcpy(b.name,LiSi)第三处 for(i=0;i0;n-)*q+=*;*q=0;)第二十五套1.程序填空用筛选法可得到2n(n10000)之间的所有素数,方法是:首先从素数2 开始,将所有2 的倍数的数从数表中删去(把数表中相应位置的值置成0);接着从数表中找下一个非0 数,并从数表中删去该数的所有
33、倍数,依此类推,直到所找的下一个数等于n 为止。这样会得到一个序列:2、3、5、7、11、13、17、19、23函数fun用筛选法找出所有小于等于n 的素数,并统计素数的个数作为函数值返回。第一处 for(j=ai*2;j=n;j+=ai)第二处 while(ai=0)第三处 if(ai!=0)2.程序修改给定程序MODI1.C中函数fun的功能是:为一个偶数寻找两个素数,这两个素数之和等于该偶数,并将这两个素数通过形参指针传回主函数。/*found*/y=i;/*foune*/d=a-i;3.程序设计请编写函数fu n,它的功能是:计算并输出n(包括n)以内能被5 或 9 整除的所有自然数的
34、倒数之和。double fun(int n)(int i;double sum=0.0;for(i=l;in;i+)if(i%5=o|i%9=0)sum+=l.0/i;return sum;)第二十六套1.程序填空给定程序中,函数fun的功能是建立一个N X N 的矩阵。矩阵元素的构成规律是:最外层元素的值全部是1;从外向内第二层元素的值全部为2;第三层元素的值全部是3,依此类推。第一处 void fun(int(*a)N)第二处 for(j=i;jN-i;j+)第二处 aki=akN-i-l=i+l;2.程序植改给定程序M0DI1.C中函数fun的功能是:将十进制正整数m 转换成k(2=k=
35、9)进制数,并按高位到低位顺序输出。/*found*/aai=m%k;/*found*/printf(d”,aai-l);3.程序设计编写一个函数,从 num个字符串中找出最长的一个字符串,并通过形参指针max传回该串地址。(注意:主函数中用*作为结束输入的标志,函数fun中给出的语句仅供参考)。fun(char(*a)81,int num,char*max)(int i,k=O,maxlen;maxlen=strlen(ak);for(i=1 ;imaxlen)maxlen=strlen(ai);k=i;*max=ak;)第二十七套1.程序填空函数fun的功能是计算f(x)=l+x-2/2!
36、+3/3!-4/4!+.的前n 项和。若 x=2.5,n=15 时,函数值为 1.917914o第一处f=l;第二处 t*=(T)*x/i;第三处f+=t;2.程序修改给定程序MODI1.C中函数fun的功能是:从三个红球,5 个白球,6 个黑球中任意取出8 个作为一组,进行输出。在没组中,可以没有黑球,但必须要有红球和白球。组合数作为函数值返回。正确的组合数应该是15.程序中i 的值代表红球数,j 代表白球数,k 代表黑球数。/*found*/for(i=l;i=0&k=6)3.程序设计请编写函数fu n,它的功能是:计算并输出下列多项式的值:sn=l+l/l!+1/2!+1/3!+1/4!
37、+l/n!o例如:在主函数中从键盘给n 输 入 1 5,则输出为:s=2.718282o注意:要求n 的值大于1但不大于100。double fun(int n)(double s=rlong t=l;int i;for(i=l;i0.001)3.程序设计假定输入的字符串中只包含字母和*号。请编写函数fu n,它的功能是:除了字符串前导和尾部的*号之外,将串中其他*号全部删除。形 参 h 已指向字符串中的第一个字母,形 参 p 已指向字符串中最后一个字母。在编写函数时,不得使用c 语言提供的字符串函数。void fun(char*a,char*h,char*p)i nt j=0;c h a r
38、 *q=a;w h i l e (*q&qh)a j +=*q+;w h i l e(*h&*p&h =0;j)第三处 tj N-l=rj;2.程序修改给定程序M O D I 1.C中函数fu n的功能是:计算s=f(-n)+f(-n+1)+f(0)+f(l)+f(2)+f(n)的值。例如,当n为5时,函数值应该是:1 0.4 0 7 1 4 3。/*fou nd*/d ou bl e f(d ou bl e x)/*fou nd*/re tu rn s;3 .程序设计编写一个函数fu n,它的功能是计算:s=根号下(I n(1)+l n(2)+l n(3)+.I n(m)S作为函数返回,在C
39、语言中可以调用l og(n)求I n(n)。l og函数引用说明是:D ou bl e l og(d ou bl e x)例如,若m的值为:20,fu n函数值为:6 0 5 0 6 5 8 3 cd ou bl e fu n(i nt m)d ou bl e s=0.0;i nt i;for(i=0;i a2中,把偶数从数组中删除,奇数个数通过函数值返回。例如:若 a 所指数组中的数据最初排列为:9、1、4、2、3、6、5、8、7,删除偶数后a 所指数组中的数据为:9、1、3、5、7,返回值为5。第一处 i f(ai%2=l)第二处j+;第三处re tu rn j;2.程序修改给定程序M O
40、 D I 1.C 中函数fu n的功能是:求出两个非零正整数的最大公约数,并作为函数值返回。/*fou nd*/t=a;a=b;b=t;/*fou nd*/re tu rn(b);3 .程序设计假定输入的字符串中只包含字母和*号。请编写函数fu n,它的功能是:删除字符串中所有的*号。在编写函数时,不得使用C语言提供的字符串函数。v oi d fu n(ch ar*a)i nt j=0;ch ar*p=a;w h i l e (*p)i f(*p!=*)aj+=*p;p+;)aj=0;)第三十一套1.程序填空给定程序中,函数fu n的功能是:在形参ss所指字符串数组中,删除所有串长超过k的字符
41、串,函数返回所剩字符串的个数。S s所指字符串数组中共有N个字符串,且串长小于M。第一处 for(i=0;i N;i+)第二处 i f(l e n d ata=x;第二处q=p;第三处 q-ne x t=s;2.程序修改给定程序M0DI1.C中函数fun的功能是:计算正整数num的各位上的数字之积。/*found*/long k=l;/*found*/num/=103.程序设计请编写函数fu n,它的功能是:计算n 门课程的平均分,计算结果作为函数返回。float fun(float*a,int n)(int i;float ave=0.0;for(i=0;in;i+)ave=ave+ai;a
42、ve=ave/n;return ave;)第三十三套1.程序填空给定程序中,函数fun的功能是:在形参ss所指字符串数组中,查找含有形参substr所指子串的所有字符串并输出,若没找到输出相应信息。S s所指字符串数组中共有N 个字符,且串长小于M。程序中库函数strstr(si、s 2)的功能是早s i 串中查找s2子串,若没有,函数值为0,若有,为非0。第一处 for(i=0;iN;i+)第二处 if(strstr(ssi,substr)!=NULL)第三处 if(find=0)2.程序修改给定程序MODI1.C中函数fun的功能是:求三个数的最小公倍数。/*found*/fun(int
43、x,int y,int z)/*found*/return j;3.程序设计假定输入的字符串中只包含字母和*号。请编写函数fu n,它的功能是:只删除字符串前导和尾部的*号,串中字母之间的*号都不删除。形 参 n 给出了字符串的长度,形参h 给出了字符串中前导*号的个数。在编写函数时,不得使用C 语言提供的字符串函数。void fun(char*a,int n,int h,int e)char*p=a;int j=0,len=0;while(*p)p+;len+;while(j len-h-e)a j=a h+j;j+;a j=0;)第三十四套1.程序填空给定程序中,函数fun的功能是:在形参
44、ss所指字符串数组中查找与形参 t 所指字符串相同的串,找到后返回该串在字符串中的位置(下标值),未找到则返回-1。ss所指字符串数组中共有N 个内容不同的字符串,且串长小于M。第一处 for(i=0;i next;第三处 fun(head,&num);2.程序修改给定程序MODI1.C中函数fun的功能是:求出s 所指字符串最后一次出现的t 所指字符串的地址,通过函数值返回,在主函数中输出从此地址开始的字符串;若未找到,则函数值NULL。/*found*/a=N U L L;/*found*/if(*r=*p)3.程序设计函数fun的功能是:将 s 所指字符串中除了下标为偶数,同时ASCII
45、指也为偶数的字符外,其余的全部都删除:串中剩余字符所形成的一个新串放在t 所指的数组中。void fun(char*s,char t )int i,j=0;for(i=0;i=,0,&ch next;double av=0.0;int n=o;while(p!=N U L L)av=av+p-s;p=p-next;n+;)av/=n;return av;)第三十七套1.程序填空函数fun的功能是:把形参a所指数组中的偶数按原顺序依次存放a 0、a l、a 2 中,把奇数从数组中删除,偶数个数通过函数值返回。第一处 i f(a i%2=0)第二处 a j =a i ;j+;第三处r e t u
46、r n j;2.程序修改给定程序M O D I L C中函数f u n的功能是:按以下递推公式求函数值。例如,当给n输出5时,函数值为18;当给n输入3时,函数值为14./*f o u n d*/f u n (i n t n)/*f o u n d*/i f (n=l)3.程序设计假定输入的字符串中只包含字母和*号。请编写函数fu n,它的功能是:使字符串中尾部的*号不得多于n 个;若多于n 个则删除多余的*号;若少于或等于n个,则什么也不做,字符串中间和前面的*号不删除。v o i d f u n (c h a r *a,i n t n)c h a r *p=a;i n t j=0;w h
47、i l e(*p)p+;p-;w h i l e (*p=,*,)p 一;p+;w h i l e(j n&*p)p+;j+;)*p=0;第三十八套1.程序填空给定程序中,函数fun的功能是:利用指针数组对形参ss所指字符串数组中的字符串按由长到短的顺序排列,并输入排序结果。s s 所指定字符串数组中共有N 个字符串,且串长小于M。第一处k=i第二i f(s t r l e n(p s k )s t r l e n (p s j )k=j;第三处 t p=p s i ;p s i =p s k ;p s k =t p;2.程序修改已知一个数列从第0 项开始的前三项分别是0、0、1 以后的各项都
48、是它相邻的前三项之和。给定程序MODI1.C中函数fun的功能是:计算并输出该数列前n 项的平方根之和。n 的值通过形参传入。/*f o u n d*/d o u b l e f u n(i n t n)/*f o u n d*/r e t u r n s u m;3.程序设计请编写函数fu n,它的功能是:计算下列级数和,和值由函数值返回。例如,当n=10,x=0.3时,函数值为1.349859。d o u b l e f u n(d o u b l e x,i n t n)d o u b l e s=l.0,y=x;i n t i;f o r(i=l;i =n;i+)s+=y/(d o u
49、 b l e)j c(i);y*=x;)r e t u r n s;)第三十九套1.程序填空给定程序中,函数fun的功能是:计算x 所指数组中N 个数的平均值(规定所有数均为正数),平均值通过形参返回主函数,将小于平均值且最接近平均值的数作为函数值返回,在主函数中输出。第一处*a v=s/N;第二处 d=*a v-x i ;j=i;第三处 r e t u r n x j ;2.程序修改给定程序MODI1.C中函数fun的功能是:根据整型形参n 计算如下公式的值。例 如:若 n=10,则应输出:0.617977./*f o u n d*/f l o a t f u n(i n t n)/*f o
50、 u n d*/f o r(i=2;i =n;i+)3.程序设计程序定义了 N X N 的二维数组,并在主函数中自动赋值,请编写函数fun,它的功能是:使数组右上三角元素中的值乘以m。i n t f u n(i n t a N ,i n t m)(i n t i,j;f o r (i=0;i N;i+)f o r(j=i;j t l i ;第三处 f o r (i=0;i j ;i+)2.程序修改给定程序M0 D I1.C中函数f u n的功能是:用冒泡法对6个字符串按由小到大的顺序排列。/*f o u n d*/f o r(j=i+l;j 6;j+)/*f o u n d*/*(p s t