计算机二级考试C语言上机题库.pdf

上传人:奔*** 文档编号:90909807 上传时间:2023-05-18 格式:PDF 页数:149 大小:10.41MB
返回 下载 相关 举报
计算机二级考试C语言上机题库.pdf_第1页
第1页 / 共149页
计算机二级考试C语言上机题库.pdf_第2页
第2页 / 共149页
点击查看更多>>
资源描述

《计算机二级考试C语言上机题库.pdf》由会员分享,可在线阅读,更多相关《计算机二级考试C语言上机题库.pdf(149页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、第一套程序填空给定程序中,函数fun的功能是:将形参n 所指变量中,各位上为偶数的数去除,剩余的数按原来从高位到低位的顺序组成一个新的数,并通过形参指针n 传回所指变量。如输入一个数:27638496,新的数为729第一空:t=*n%10;第二空:if(t%2!=0)第三空:*n=x;2.程序修改给定程序modi 1.C中函数fun的功能是:计算n!。蚀 口,给 n 输入5,贝输出120.000000.double fun(int n)double result=1.0;/*found*/if(n=O)return 1.0;while(n1&n0;i+)if(si=0,&si=,9,)/*fo

2、und*Isj+=si;/*found*/sj=O;)3.程序设计题请编写函数fun,函数的功能是:将 M 行 N 列的二维数组中的字符数据,按列的1 1 1 页序依次放到一个字符串中。void fun(char sN,char*b)int i,j,n=O;for(i=0;iN;i+)/*请填写其相应语句完成其功能*/(for(j=0;jnext=null;for(i=1;idata=rand()%m;s-next=p-next;p-next=s;p=p-next;)/*fou nd*/return h;)3.程序设计请编写函数fun,函数的功能是:统计一行字符串中单词的个数,作为函数值返回。

3、一行字符串在主函数中输入,规定所有单词由小写字母组成,单词之间由若干个空格格开,一行的开始没有空格。int fun(char*s)(int k=1;while(*s)if(*s=)k+;s+;return k;)第四套1.程序填空程序通过定义学生结构体变量,存储了学生的学号、姓 名 和 3 门课的成绩。所有学生数据均以二进制方式输出到文件中。函 数 fun的功能是从形参filename所指的文件中读入学生数 据,并按照学号从小到大排序后,再用二进制方式把排序后的学生数据输出到filename所指的文件中,覆盖原来的文件内容。第 1 处 fp=fopen(filename,rb);第 2 处 i

4、f(si.sno sj.sno)第 3 处 fwrite(s,sizeof(ST U),N,fp);2.程序修改给定程序M0DI1.C中函数fun的功能是:在字符串的最前端加入n 个*号,形成新串,差且覆盖原串。注 意:字符串的长度最长允许为79.void fun(char s,int n)char a80,*p;inti;/*fou nd*/p=s;for(i=0;in;i+)doai=*p:i+;)/*found*/while(*p+)ai=0;strcpy(s,a);)3.程序设计请编写函数fun,函数的功能是:统计各年龄段的人数,N 个年龄能过调用随机函数获得,并放在主函数的age数组

5、中:要求函数把0 至 9 岁的年龄段的人数放在d 中,把 10至 19岁的年龄段的人数放在仇1 中,把 20至 29岁的年龄段的人数放在d 2 中,其余依次类推,把 100岁(含 100岁)以上年龄的人数都放在d 10 中。结果在主函数中输出。void fun(int*a,int*b)int i,j;for(i=0;iM;i+)bi=0;for(i=0;i10)bM-1+;else bj+;)第五套1.程序填空给定程序中,函数fun的功能是将参数给定的字符串、整数、浮点数写到文件文件中,再用字符串方式从此文本文件中逐个读入,并调用库函数atoi和 atof将字符串换成相应的整数和浮点数,然后将

6、其显示在屏幕上。第 1 处:FILE*fp;第 2 处:fclose(fp);第 3 处:fscanf(fp,%s%s%s,str,str 1 ,str2);2.程序修改给定程序M0DI1.C中函数fun的功能是:对 N 名学生的学生成绩,按从高到低的顺序找出前 m(m10)名学生来,将这些学生数据存放在一个动态分配的连续存储区中,此存储区的首地址作为函数值返回。STU*fun(STU a,int m)STU bN,*t;intij.k;/*found*ft=(STU*)calloc(sizeof(STU),m);for(i=0;iN;i+)bi=ai;for(k=0;km;k+)for(i=

7、j=0;ibO.s)j=i;/*found*/tk=bO;bU.s=0;)return t;)3.程序设计请编写函数fun,函数的功能是,删去一维数组中所有相同的数,使之只剩一个。数组中的数已按从小到大的顺序排序,函数返回删除后数组中数据的个数。int fun(int a,int n)int i,j=1,k=a;for(i=1;in;i+)if(k!=ai)aj+=ai;k=ai;aj=O;return j;)第六套1.程序填空给定程序中,函数fun的功能是根据形参i 的值返回某个函数年值。当调用正确时,程序输出:x1=5.000000 x2=3.000000.x1*x1+x1*x2=40.0

8、00000第一处:double fun(int i,double x.double y)第二处:return f1(x);第三处:return f2(x,y);2.程序修改给定程序MODI1.C中函数fun的功能是:比较两个字符串,将长的那个字符串的首地址作为函数值返回。include/*fou nd*Ichar*fun(char*s,char*t)(int sl=O,tl=O;char*ss,*tt;ss=s;tt=t;while(*ss)sl+;/*fou nd*/ss+;while(*tt)tl+;/*IQU nd*/tt+;)if(tlsl)return t;else return s

9、;)3.程序设计请编写函数fun,函数的功能是:移动字符串中的内容,移动的规则如下:把 第 1到 第 m 个字 符,平均移到字符串的最后,把 第 m+1个到最后的;字符移到字符串的前部。void fun(char*w,int m)(inti;for(i=0;im;i+)fun1(w);)第七套1.程序填空程序通过定义并赋初值的方式,利用结构体变量存储了一名学生的信息,函数fun的功能是输出这位学生的信息。第 1 处 void show(STU tt)第 2 处 printf(%5.1 f,tt.scorei);第 2 处 show(std)2.程序修改给定程序M0DI1中函数fun的功能是:求

10、出数组中最大数和次最大数,并把最大数和a0中的数对调、次最大数和a1中的数对调。int fun(int*a,int n)int i,m,t,k;for(i=0;i2;i+)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)位的整数,函数求出w 的后n-1位的数作为函数值返回。例 如:w 值 为 5923,则函数返回923;w 值 为 923则函数返回23。unsigned fun(unsigned w)(if(w=10000)return

11、w%10000;if(w=1000)return w%1000;if(w=100)return w%100;return w%10;)第八套1.程序填空给定程序通过定义并赋值的方式,利用结构体变量存储了一名学生学号、姓 名 和 3 门课的成绩。函数fun的功能是将该学生的各科成绩都乘以一个系统a。第 1 处 void modify(STU*ss,float a)第 2 处 ss-scorei*=a;第 3 处 modify(&std,a);2.程序修改给定程序MODI1.C中函数fun的功能是:求 k!,所求阶乘的值作为函数值返回。例 如:若 k=10,则应输出:3628800。long fu

12、n(int k)/*fou nd*Iif(k0)return(k*fun(k-1);/*IQU nd*/else if(k=O)return 1L;)3.程序设计程序定义了 N*N的二维数组,并在主函数中自动赋值。请编写函数fun(int aN,int n),函数的功能是:使数组左下三角元素中的值乘以n0int fun(int a N,int n)int i,j;for(i=0;iN;i+)for(j=0;jnext;第 2 处 while(q)第 3 处 p=p-next;2.程序修改给定程序MODI1.C中函数fun的功能是:将 s 所指字符串中的字母转换为按字母序列的后续字母(但 Z 转

13、换为A,z 转换成a),其它字符不变。void fun(char*s)/*fou nd*/while(*s)if(*s,A,&*s=a,&*s=z,)if(*s=,Z,)*s=,A,;else if(*s=,z,)*s=,a,;else*s=*s+1;/*fou nd*Is+;)3.程序设计void fun(int*w,int p,int n)(int i,j=O,bN;for(i=p+1;in;i+)bj+=wi;for(i=0;i=p;i+)bj+=wi;for(i=0;in;i+)wi=bi;)第十套1程序填空给定程序中,函数fun的功能是:判定形参a 所指的NxN(规 定 N 为奇数)

14、的矩阵是否是“幻方”,若 是,函数返回值为1 ;不 是,函数返回值为0。“幻方”的判定条件是:矩阵每行、每列、主对角线及反对角线上元素之和都相等。第 1 处 row=colum=0;第 2 处 if(row!=colum)|(row!=m1)return 0;第 3 处 return 1;2 程序修改给 定 M ODh.Cfun函 数 的 功 能 是:根 据 整 型 形 参 m,计 算 如 下 公 式 的 值。t=1-1/2-1/3-1/m.#include double fun(int m)double t=1.0;int i;for(i=2;inext;第 2 处 if(p=0)retur

15、n;第 3 处 p=q;q=r;2.程序修改给 定 MODh.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;/*fou nd*/r=t;while(*r)if(*r=*p)r+;p+;else break;/*fou nd*Iif(*r=O)n+;s+;)return n;)3 程序设计请编写函数fun,函数的功能是相放在字符串数组

16、中的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 位 中 X#include#include#define N 80void fun(char*s,char t)int i,j=0;for(i=0;istrlen(s);i+)/*ou nd*/if(i%2|si%

17、2=0)W+=si;/*found*/tj=O;)3 程序设计请编写函数fun,函数的功能是:将 M 行 N 列的二维数组中的数据,按列的顺序依次放到一维数组中。函数fun中给出的语句仅供参考。#include void fun(int(*s)10,int*b,int*n,int mm,int nn)(int i,j,np=O;for(i=0;inn;i+)for(j=0;jnext;第 2 处 q=p-next;第 3 处 if(p-data=q-data)2 程序修改给定程序M0DI1.C是建立一个带头结点的单向链表,并用随机函数为各结点数据域赋值。函数fun的作用是求出单向链表结点(不包

18、括头结点)数据域中的最大值,并且作为函数值返回。请改正函数fun中指定部位的错误,使它能得出正确的结果。fun(NODE*h)int max=-1;NODE*p;/*,ou nd*/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(*s)1O,int*b,int*n,int mm,int nn)(int i,j,k;

19、for(i=0;imm;i+)for(j=0;jnext;while(p)if(p-data%2=0)sum+=p-data;/*fou nd*Ip=p-next;)return sum;)3 程序设计请编写函数fun,函数的功能是:判断字符串是否为回文?叵 是,函数返回1 ,主函数中输 出:YEX,否则返回0,主函数中输出NOo回文是指顺读t 和倒读都一样的字符串。int fun(char*str)int i,j=strlen(str);for(i=0;i=O)&(chs;STREC*p;p=h-next;while(p)if(p-smax)max=p-s;p=p-next;)return

20、max;)第十六套1程序填空给定程序中,函数fun的功能是:求出形参ss所指字符串数组中最长字符串的长度,将其余字符串右边用字符*补齐,使其与最长的字符串等长。S s所指字符串数组中共有M 个字符串,且串长 N。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。第 1 处 n=strlen(ssi);第 2 处 ss皿n+j=*;第 3 处 ssin+j+1=0;2 程序修改给定程序M0DI1.C中 fun函数的功能是:将 p 所指字符串中每个单词的最后一个字母改成大写。(这里的 单词”是指由空格隔开的字符串1 请改正程序中的错误之处,使它能得出正确的结果。#include

21、void fun(char*p)int k=0;for(;*p;p+)if(k)/m.found*/if(*P=)k=0;*0 und*!(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)=*(s+i);*(s+i)=ch;)第十七套1程序填空程序通过定义学生结构体数组,存

22、储了若干名学生的学号、姓名和3 门课的成绩。函数fun的功能是将存放学生数据的结构体数组,按照姓名的字典序(从小到大)排序。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。第 1 处 struct student t;第 2 处 for(i=0;iO)2 程序修改给定程序M0DI1.C中函数fun的功能是:在 p 所指字符串中找出ASCII码值最大的字符,将其放在第一个位置上;并将该字符前的原字符向后顺序移动。fun(char*p)char max,*q;int i=0;max=pi;while(pi!=O)if(maxp)*q=*(q-1);q-;)pO=max;)3

23、程序设计学生的记录由学号和成绩组成,N 名学生的数据已在主函数中放入结构体数组s 中,请编写了函数fun,它的功能是:把指定分数范围内的学生数据放在b 所指的数组中,分数范围内的学生人数由函数值返回。int fun(STREC*a,ST REC*b,int I,int h)intij=0;for(i=0;i=l&ai.s=h)bg+=ai;return j;)/*程序中I是 用 L 的小写*/第十八套1程序填空给定程序中,函数fun的功能是:将形参s 所指字符串中的所有字母字符顺序前移,其他字符顺序后移,处理后新字符串的首地址作为函数值返回。第 1 处 tO=si;j+;第 2 处 for(i

24、=0;ik;i+)tj+i=pi;第 3 处 tO+k=0;2 程序修改给定程序MODI1.C中函数fun的功能是:将 s 所指字符串中最后一次出现的与t1 所指字符串相同的子串替换成t2 所指字符串,所形成的新串放在w 所指的数组中。在此处,要求和 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(*r=*p)r+;p+;else break;if(*r=,0,)a=w;w+;)r=t

25、2;while(*r)*a=*r;a+;r+;)3 程序设计函数fun的功能是:将 s 所指字符串中ASCII值为奇数的字符删除,串中剩余字符形成一个新串放在t 所指的数组中。void fun(char*s,char t)inti,j=O;for(i=0;istrlen(s);i+)if(si%2=0)tg+=si;tj=O;)第十九套1程序填空程序通过定义学生结构体变量,存储了学生的学号、姓名和3 门课的成绩。函数fun的功能是将形参a 所指结构体变量s 中的数据进行修改,并 把 a 中地址作为函数值返回主函数,在主函数中输出修改后的数据。第 1 处 struct student*fun(s

26、truct student*a)第 2 处 for(i=0;iscorei+=1;第 3 处 return a;2 程序修改给定程序M0DI1.C中函数fun的功能是:从 N 个字符串中找出最长的那个串,并将其地址作为函数值返回。各字符串在主函数中输入,并放入一个字符串数组中。/*o und*/char*fun(char(*sq)M)int i;char*sp;sp=sqO;for(i=0;iN;i+)if(strlen(sp)strlen(sqi)sp=sqi;/*fou nd*/return sp;)3 程序设计函数fun的功能是:将 a、b 中的两个两位正整数合并形成一个新的整数放在c

27、中。合并的方式是:将 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 决指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。第 1 处 for(i=0;iN;i+)av+

28、=xi/N第 2 处 yO=xi;xi=-1;j+;)第 3 处 i+;2 程序修改给定程序MODI1.C函数fun的功能是:统计字符串各元音字母(即:A、E、I、0、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-1i;)for(i=1;iM-1;i+)tot+=ai0;t

29、ot+=aiN-1;)return tot;)第 21套1程序填空给定程序中,函数fun的功能是:计算形参x 所指数组中N 个数的平均值(规定所有数均为正数),将所指数组中大于平均值的数据移至数组的前部,小于等于平均值的数据移至x 所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。第 1 处 av=s/N;第 2 处 yO+=xi;xi=-1;第 3 处 if(xi!=-1)yO+=xi;2 程序修改给定程序M0DI1.C的功能是:读入一英文文本行,将其中每个单词的第一个字母改成大写,然后输出此文本行(这里的“单词”是指由空格隔开的字符串)/*found*/#inclu

30、de/m.found*/upfst(char*p)int k=O;for(;*p;p+)if(k)if(*p=)k=o;else if(*p!=)k=1;*p=toupper(*p);)3 程序设计程序定义了 NXN 的二级数组,并在主函数中赋值,请编写函数fun,函数的功能是:求出数组周边元素的平均值并作出函数值返给主函数中的s.double fun(int w口 N)in tij,n=0;double sum=0;for(i=0;iN;i+)sum+=w0i+wN-1 i;n+=2;for(i=1;iN-1;i+)sum+=wi0+wiN-1;n+=2;)return sum/n;)第 2

31、2套1程序填空给定程序中,函数fun的功能是:将自然数1 10以及它们的平方根写到名为myfile3.txt的文本文件中,然后再顺序读出显示在屏幕上。第 1 处 fprintf(fp,*%d%fn/z,i,sqrt(double)i);第 2 处 fclose(fp);第 3 处 if(fp=fopen(fname,r)=NULL)2 程序修改给定程序M0DI1.C中 fun函数的功能是:将 n 个无序整数从小到大排序。fun(int n,int*a)int i,j,p,t;for(j=0;jn-1;j+)P=j;/*什 ou nd*/for(i=j+1;iai)/*fou nd*/P=i;i

32、f(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 所指的一维数组中。第 1 处 bi=aOi;第 2 处 if(b

33、iaji)bi=aji;第3处 fun(x,y);2程序修改给定程序M0DI1.C中fun函数的功能是:交换主函数中两个变量的值。/*fou nd*/int fun(int*x,int*y)int t;/*f ou nd*/t=*x;*x=*y;*y=t;)3程序设计编写函数fu n,函数的功能是求出小于或等于lim的所有素数并放在aa数组中,函数返回所求出的素数的个数。函数fun中给出的语句仅供参考。#include#define MAX 100int fun(int lim,int aa MAX)int i,j,k=0;for(i=2;i=lim;i+)for(j=2;j(i/2)aak+

34、=i;return k;第 24套1程序填空程序通过定义学生结构体变量,存储了学生的学号、姓名和3 门课的成绩。函数fun的功能是将形参a 中的数据进行修改,把修改后的数据作为函数值返回主函数进行输出。第 1 处 struct student fun(struct student a)第 2 处 strcpy(a.name,L iS i);第 3 处 a.scorei+=1;2 程序修改假定整数数列中的数不重复,并存放在数组中。给定程序M0DI1.C中函数fun的功能是:删除数列中值为x 的元素。N 中存放的是数列中元素的个数。fun(int*a,int n,int x)int p=O,i;a

35、n=x;while(x!=ap)P=P+1;/*found*/if(p=n)return-Velse 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=O,min=aO.s;for(i=O;iai.s)j=O;bj+=ai;min=ai.s;)else if(min=

36、ai.s)bO+=ai;)return j;)第 25套1程序填空人员的记录由编号和出生年、月、日组成,N 名人员的数据已在主函数中存入结构体数组std中,且编号唯一。函数fun的功能是:找出指定编号人员的数据,作为函数值返回,由主函数输出,若指定编号不存在,返回数据中编号为空串。第 1 处 STU fun(STU*std,char*num)第 2 处 if(strcmp(stdi.num,num)=O)第 3 处 return(stdi);2 程序修改给定程序M0DI1.C中函数fun的功能是:从 s 所指字符串中,找出与t 所指字符串相同的子串的个数作为函数值返回。int fun(char

37、*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 程序修改给定程序M0DI1.C中函数fun的功能是:用选择法

38、对数组中的n 个元素按从小到大的顺序进行排序。void fun(int a,int n)int i,j,t,p;for(j=O;jn-1;j+)/*found*/p=j;for(i=j;in;i+)if(aiapj)/*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%11=0)a(*n)+=i;第 2

39、7套1程序填空给定程序中,函 数 fu n 的功能是:计算下式前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 所 指 的 变 量 中,最 后 在 主 函 数 中 输 出。例 如,

40、形 参 s 所 指 的 字 符 串 为:abcdef35adgh3kjsdf7o 输出结果为:4。第 1 处 for(i=0;si!=NULL;i+)第 2 处 if(si=0&si=9)n+;第 3 处*t=n;2 程序修改给定程序M0DI1.C中函数fun的功能是:通过某种方式实现两个变量值的交换,规定不允许增加语句和表达式。例如变量a 中的值原为8,b 中的值原为3,程序运行后a 中的值为3,b 中的值为8.int fun(int*x,int y)intt;/*found*/t=*x;*x=y;/m*found*/return(t);)3 程序设计请编写函数fun,它的功能是:求 出 1

41、 到 1000之间能被7 或 11整 除,但不能同时被7 和11整除的所有整数并将它们放在a 所指的数组中,通 过 n 返回这些数的个数。#include void fun(int*a,int*n)inti;*n=0;for(i=7;isno=10004;第 2 处 strcpy(b-name,LiJie);第 3 处 fun(&t);2 程序修改给定程序MODI1.C中函数fun的功能是:应用递归算法求形参a 的平方根。求平方根的迭代公式如下:例如,a 为 2 时,平方根值为:1.414214x1=1/2*(x0+a/x0)(考试时是分数形式)/*found*/double fun(doub

42、le a,double xO)double x1,y;x1=(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;inti;*n=0;for(i=0;iN;i+)t=t+ai.s

43、;t=t/N;for(i=0;it)b(*n)+=ai;return t;)第 30套1程序填空程序通过定义学生结构体变量,存储了学生的学号、姓名和3 门课的成绩。函数fun的功能是将形参a 所指结构体变量中的数据赋给函数中的结构体变量b,并|数 b 中的学号和姓 名,最后输出修改后的数据。第 1处 b=a;第 2 处 strcpy(b.name,LiSi*)第 3 处 for(i=0;i0,;i+)if(si!=cD/*found*/sO+=si;/*f ou nd*/sj=O;)3 程序设计假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:将字符串的前导*号全部移到字符串的

44、尾部。函数fun中给出的语句仅供参考。void fun(char*a)char*p,*q;int n=0;p=a;while(*p=*)n+;p+;q=a;while(*p)*q=*p;p+;q+;)for(;n0;n-)*q+=*;*q=0;第 31套1程序填空给定程序中,函数fun的功能是:对形参s 所指字符串中下标为奇数的字符按ASCII码大小递增排序,并将排序后下标为奇数的字符取出,存入形参P 所指字符数组中,形成一个新串。第 1处 t=i;第 2 处 for(j=i+2;j=num)pi=pi+t;n=n+2;s=-s;/*found*/t=s/n;)pi=pi*4;return p

45、i;)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所指字符串数组中共有N 个字符串,且串长小于M。第 1 处 void fun(char(*ss)M

46、,int k)第 2 处 while(ieps)s+=t;t=t*n/(2*n+1);n+;)/*ou nd*/return(2*s);)3 程序设计假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:将字符串的前导*号不得多于n 个;若多于n 个,则删除多于的*号;若少于或等于n 个,则什么也不做,字符串中间和尾部的*号不删除。函数fun中给出的语句仅供参考。void fun(char*a,int n)(int i=O,j,k=O;while(ak=,*!)k+;if(kn)(i=n;j=k;for(;aO!=0;j+)ai+=aO;ai=0;)第 33套1程序填空给定程序的功

47、能是:调用 函数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 fun(long s,long*t)intd;long s1=1;*

48、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程序填空用筛选法可得到2 n(n 10000)之间的所有素数,方 法 是:首先从素数2 开 始,

49、将所有2 的倍数的数从数表中删去(把数表中相应位置的值置成0);接着从数表中找下一个非0数,并从数表中删去该数的所有倍数,依此类推,直到所找的下一个数等于n 为止。这样会得到一个序列:2,3,5,7,11,13,17,19,2 3.函数fun用筛选法找出所有小等于n 的素数,并统计素数的个数作为函数值返回。第 1 处 for(j=ai*2;j=n;j+=ai)第 2 处 while(ai=0)第 3 处 if(ai!=0)2 程序修改给定程序MODI1.C中函数fun的功能是:为一个偶数寻找两个素数,这两个素数之和等于该偶数,并将这两个素数通过形参指针传回主函数。void fun(int a,

50、int*b,int*c)int i,j,d,y;for(i=3;i=a/2;i=i+2)/*ou nd*Iy=i;for(j=2;j=sqrt(double)i);j+)jf(i%j=O)y=O;if(y=1)/*found*/d=a-i;for(j=2;j=sqrt(double)d);j+)if(d%j=O)y=O;i f g)*b=1;*c=d;3 程序设计请编写函数fun,它的功能是:计算并输出n(包 括 n)以内能被5 或 9 整除的所有自然数的倒数之和。double fun(int n)(inti;double sum=0.0;for(i=1;iv=n;i+)if(i%5=0|i%

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

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

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

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com