计算机二级计算机编程题.pdf

上传人:文*** 文档编号:92972491 上传时间:2023-06-18 格式:PDF 页数:11 大小:2.74MB
返回 下载 相关 举报
计算机二级计算机编程题.pdf_第1页
第1页 / 共11页
计算机二级计算机编程题.pdf_第2页
第2页 / 共11页
点击查看更多>>
资源描述

《计算机二级计算机编程题.pdf》由会员分享,可在线阅读,更多相关《计算机二级计算机编程题.pdf(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、2011年 全 国 计 算 机 二 级 C 语 言 上 机 题 题 库 1:第 1 题 m 个 人 的 成 绩 存 放 在 s c o re数 组 中,请 编 写 函 数 fun,它 的 功 能 是:将 低 于 平 均 分 的 人 作 为 函 数 值 返 回,将 低 于 平 均 分 的 分 数 放 在 below 所 指 定 的 函 数 中。答 案:int score,int m,int below)inti,k=0,aver=0;fbr(i=0;im;i+)aver+=scorei;aver/=m;fbr(i=0;im;i+)if(scoreiaver)belowk=scorei;k+;re

2、turn k;2:第 2 题 请 编 写 函 数 f u n,它 的 功 能 是:求 出 1 到 1 0 0之 内 能 北 7 或 者 1 1整 除,但 不 能 同 时 北 7 和 1 1整 除 的 所 有 证 书,并 将 他 们 放 在 a所 指 的 数 组 中,通 过 n 返 回 这 些 数 的 个 数。答 案:void ftin(int*a,int*n)int i,j=0;fbr(i=2;i1000;i+)if(i%7=0|i%ll=0)&i%77!=0)aj+=i;*n=j;3:第 3 题 请 编 写 函 数 voidfun(intx,intpp,int*n),它 的 功 能 是:求

3、出 能 整 除 x 且 不 是 偶 数 的 各 整 数,并 按 从 小 到 大 的 顺 序 放 在 p p 所 指 的 数 组 中,这 些 除 数 的 个 数 通 过 形 参 n 返 回。答 案:voidfun(int x,int pp,int*n)int i=1,j=O;k=O,*t=pp;fbr(i=0;iV=x;i+)if(i%2!=0)tj=I;j-H-;for(i=O;ij;i+)if(x%ti=O)ppk=ti;k+;*n=k;4:第 4 题 请 编 写 一 个 函 数 voidfun(char pp),统 计 在 t t 字 符 中、“到”z”2 6 各 字 母 各 自 出 现

4、的 次 数,并 依 次 放 在 pp所 指 的 数 组 中。答 案:void fun(char*tt,int pp)int i;for(i=0;i26;i+)ppi=0;while(*tt)switch(*tt)case 匕:pp0+;break;case V:ppl-H-;break;case c9:pp2+;break;casepp3+;break;case e:pp4+;break;case f:pp5+;break;case g:pp6+;break;case h:pp7+;break;case pp8-H-;break;case j:pp9+;break;case 4k9:pp10+

5、;break;case T:ppl l+;break;case m:pp12-H-;break;case 4n pp12+;break;case o:pp14+;break;case p:pp15+;break;case q:pp16+;break;case 4r pp17-H-;break;case s:pp18+;break;case pp19+;break;case U:pp20+;break;case V:pp21+;break;case,w:pp22+4-;break;case x pp23+;break;case 4y pp24-H-;break;case 4z pp25+;bre

6、ak;tt+;5:第 5 题 请 编 写 一 个 函 数 void int xx),该 函 数 的 功 能 是:将 大 于 整 数 m 且 紧 靠 m 的 k 各 素 数 存 入 x x 所 指 的 数 组 中。答 案:voidfun(int m,int k,int xx)int g=O,I,j,flag=l;fbr(i=m+1;i m*for(j=O;j=i)if(k=0)xxg+=i;k;else break;6:第 6 题 请 编 写 一 个 函 数 void fun(char a口,char口,int n),其 功 能 是:删 除 以 各 字 符 串 中 指 定 下 标 的 字 符。其

7、 中,a 指 向 原 字 符 串,删 除 后 的 字 符 串 存 放 在 b 所 指 的 数 组 中,n 中 存 放 指 定 的 下 标。答 案:void fun(char a,char b,int n)int Ij=0;for(i=0;iLEN;i+)if(i!=n)bj=ai;j+;b j-0?;7:第 7 题 请 编 写 一 个 函 数 int fun(int*s,int t,int*。用 来 求 除 数 组 的 最 大 元 素 在 数 组 中 的 下 标 并 存 放 在 k 所 指 的 储 存 单 元 中。答 案:void fun(int*s,int t,int*k)int I,max

8、;max=s0;fbr(i=O;imax)max=si;*k=I;8:第 8 题 编 写 函 数 fim,功 能 是:根 据 以 下 攻 势 计 算 s,计 算 结 果 作 为 函 数 值 返 回;n 通 过 形 参 传 入 0$=数 1/(1+2)+1/(1+2+3)+.+1/(1+2+3+4+.+n)答 案:float fun(int n)int i;float s=1.0,t=1.0;for(i=2;ino p=m!/n!(m-n)!答 案:float fun(int m,int n)float p,t=1.0;intI;for(i=l;i=m;i+)t=t*I;p=t;fbr(t=1.

9、0,i=1;i=n;i+)t=t*I;p=p/t;fbr(t=1.0,i=l;i 1 e-6);return x 1;1 1:第 1 1 题 下 列 程 序 定 义 了 nxn 的 二 维 数 组,并 在 主 函 数 中 自 动 赋 值。请 编 写 函 数 该 函 数 的 功 能 是:使 数 组 左 下 半 三 角 元 素 中 的 值 全 部 置 成 0o 答 案:int fun(int aN)int I,j;fbr(i=0;iN;i+)for(j=O;j=I;j+)aij=O;1 2:第 1 2题 下 列 程 序 定 义 了 n x n 的 二 维 数 组,并 在 主 函 数 中 赋 值。请

10、 编 写 函 数 ftin,函 数 的 功 能 使 求 出 数 组 周 边 元 素 的 平 均 值 并 作 为 函 数 值 返 回 给 主 函 数 中 的 s。答 案:double fun(int wN)int I,j,k=O;double s=0.0;fbr(j=O;jN;j+)s+=w0j;k+;fbr(j=O;jN;j-H-)s+=wN-l|j;k+;fbr(i=l;i=N-2;i-H-)s+=wi0;k+;fdr(i=l;i=N-2;i+)s+=wiN-l;k+;return s/=k;1 3:第 13 题 请 编 写 一 个 函 数 void fun(int指 向 一 个 m 行 n

11、 列 的 二 维 函 数 组,求 出 二 维 函 数 组 每 列 中 最 小 元 素,并 依 次 放 入 p p 所 指 定 一 维 数 组 中。二 维 数 组 中 的 数 已 在 主 函 数 中 赋 予。答 案:voidfun(int ttMN,int ppN)int fbr(j=O;jN;j+)min=tt0j;for(i=0;iM;i+)if(tt口 皿 Vmin)ppj=min;1 4:第 1 4题 请 别 写 函 数 fun,函 数 的 功 能 使 求 出 二 维 数 组 周 边 元 素 之 和,作 为 函 数 值 返 回。二 维 数 组 中 的 值 在 主 函 数 中 赋 予。答

12、案:intfun(int aMN)int I,j,s=O;for(j=O;jN;j+)s+=aOj;s+=aM-lj;for(i=l;i10)if(t/10)p=t%10;s=s+p*sl;sl=sl*10;t=t/10;return s;16:第 1 6题 请 编 写 一 个 函 数 floatfim(doubleh),函 数 的 功 能 使 对 变 量 h 中 的 值 保 留 2 位 小 树,并 对 第 三 位 进 行 四 舍 五 入(规 定 h 中 的 值 位 正 数)。答 案:float fun(float h)long t;floats;h=h*1000;t=(h+5)/10;s=(

13、float)t/100.0;return s;1 7:第 17 题 请 编 写 一 个 函 数 fiin(char*s),该 函 数 的 功 能 使 把 字 符 串 中 的 内 容 拟 置。答 案:void fun(char*s)char ch;int I,m,n;i=0;m=n=strlen(s)-l;while(i(n+l)/2)ch=si;si=sm;sm=ch;i+;m;1 8:第 18题 编 写 程 序,实 现 矩 阵(3 行 3 歹 IJ)的 转 置(即 行 列 互 换)。答 案:voidfun(int array33)int I,j,temp;fbr(i=0;i3;i+)fbr(

14、j=O;jl;i)fbr(j=2;j=i)aak=i;k+;r e tu m k-;2 1:第 2 1 题 请 编 写 函 数 fun,对 长 度 位 7 个 字 符 的 字 符 串,除 首 尾 字 符 外,将 其 余 5 个 字 符 按 ascii 码 降 序 排 列。答 案:void fun(char*s,int num)char t;int I,j;for(i=1;i num-2;i-H-)for(j=i+l j n u m-1;j+)if(sis;do if(q-smax)max=q-s;q=q-next;while(q!=0);return max;2 3:第 2 3 题 请 编 写

15、 函 数 f u n,该 函 数 的 功 能 是:判 断 字 符 串 是 否 为 回 文?若 是 则 函 数 返 回 1,主 函 数 中 输 出 y e s,否 则 返 回 0,主 函 数 中 输 出 no。回 文 是 指 顺 读 和 倒 读 都 是 一 样 的 字 符 串。答 案:int fun(char*str)int I,n=0;fg=l;char*p=str;while(*p)n+;p+;fbr(i=0;in/2;i-H-)if(stri=strn-l-i);else fg=O;break;return fg;2 4:第 2 4 题 请 编 写 一 个 函 数 f tm,它 的 功 能

16、 是:将 一 个 字 符 串 转 换 为 一 个 整 数(不 得 调 用 c 语 言 提 供 的 将 字 符 串 转 换 为 整 数 的 函 数)。答 案:long fun(char*p)long s=O,t;int i=O,j,n=strlen(p),k,sl;if(pO=)i+;for(j=I;j=m)p=s;else p=t;return p;第 26 题 请 编 写 一 个 函 数 f u n,它 的 功 能 是:根 据 以 下 公 式 求 x 的 值(要 求 满 足 精 度 0.0 0 0 5,即 某 项 小 于 0.0 0 0 5时 停 止 迭 代):X/2=1+1/3+1X2/3

17、X5+1X2X3/3X5X7+1X2X3X4/3X5X7X9+.+1X2X3X.X n/3x5x?x(2n+l)程 序 运 行 后,如 果 输 入 精 度 0.0005,则 程 序 输 出 为 3.14.O答 案:double fun(double eps)doubles;float n,t,pi;t=l;pi=0;n=1.0;s=1.0;while(fabs(s)=eps)pi+=s;t=n/(2*n+l);s*=t;n+;pi=pi*2;return pi;2 7:第 2 7 题 请 编 写 一 个 函 数 fun,它 的 功 能 是:求 除 1 至!J m 之 内(含 m)能 北 7 或

18、 1 1整 除 的 所 有 整 数 放 在 数 组 a 中,通 过 n 返 回 这 些 数 的 个 数。答 案:voidfun(int m,int*a,int*n)int I,j=0;*n=0;for(i=l;i=m;i+)if(i%7=0|i%ll=0)aj=I;j+;*n=j;2 8:第 2 8 题 请 编 写 一 个 函 数 f u n,它 的 功 能 是:找 出 一 维 整 型 数 组 元 素 中 最 大 的 值 和 它 所 在 的 下 标,最 大 的 值 和 它 所 在 的 下 标 通 过 形 参 传 回。数 组 元 素 中 的 值 已 在 主 函 数 中 赋 予。主 函 数 中 x

19、 是 数 组 名,n 是 x 中 的 数 据 个 数,m a x存 放 最 大 值,in d ex存 放 最 大 值 所 在 元 素 的 下 标。答 案:void fun(int a,int n,int*max,int*d)int I;*max=a0;*d=0;fbr(i=O;I*max)*max=ai;*d=I;2 9:第 29 题 请 编 写 一 个 函 数 f b n,它 的 功 能 是:将 s s 所 指 字 符 串 中 所 有 下 标 为 奇 数 位 置 上 的 字 母 转 换 为 大 写(若 该 位 置 上 不 是 字 母,则 不 转 换)。答 案:void fun(char*ss

20、)int I,n;n=strlen(ss);for(i=l;i=1a,&ssi=tz,)ssi=ssi-32;3 0:第 30 题 请 编 写 一 个 函 数 fu n,它 的 功 能 是:求 除 一 个 2 x m 整 型 二 维 数 组 中 最 大 元 素 的 值,并 将 此 值 返 回 调 用 函 数。答 案:intfun(intaM)int I,j,max;max=a00;for(i=0;i2;i+)for(j=0;jmax)max=aij;return max;3 1:第 3 1 题 请 编 写 函 数 f b n,其 功 能 是:将 s 所 指 字 符 串 中 除 了 下 标 为

21、偶 数、同 时 a s c ii值 也 为 偶 数 的 字 符 外,其 余 的 全 都 删 除;申 中 剩 余 字 符 所 形 成 的 一 个 新 串 放 在 t 所 指 的 一 个 数 组 中。答 案:void fun(char*s,char t)int Ij=0,n;n=strlen(s);for(i=0;I,n;i+)if(i%2=0&si%2=0)tj=si;j+;tj=lO;3 2:第 32 题 请 编 写 函 数 f u n,其 功 能 是:将 s 所 指 字 符 串 中 除 了 下 标 为 奇 数、同 时 a s c ii值 也 为 奇 数 的 字 符 之 外,其 余 的 所 有

22、 字 符 都 删 除,串 中 剩 余 字 符 所 形 成 的 一 个 新 串 放 在 t 所 指 的 一 个 数 组 中 o 答 案:void fun(char*s,char t)int I,j=O,n;n=strlen(s);for(i=0;I,n;i+)if(i%2!=0&si%2!=0)tj=si;j+;tj=40,;)3 3:第 33 题 假 定 输 入 的 字 符 串 中 只 包 含 字 母 和*号。请 编 写 函 数 f u n,它 的 功 能 是:使 字 符 串 中 尾 部 的*号 不 得 多 于 n 个;若 多 于 n 个,则 删 除 多 于 的*号;若 少 于 或 等 于 n

23、 个,则 什 么 也 不 做,字 符 串 中 间 和 前 面 的*号 不 删 除。答 案:void fun(char*a,int n)int i=0;k=0;char*p,*t;p=t=a;while(*t)t+;t;while(*t=*)k+;t;t+;if(kn)while(*p&p;3 4:第 3 4 题 学 生 的 记 录 由 学 号 和 成 绩 组 成,名 学 生 的 数 据 已 在 主 函 数 中 放 入 n 结 构 体 数 组 s 中,请 编 写 函 数 f u n,它 的 功 能 使:把 分 数 最 高 的 学 生 数 据 放 在 h 所 指 的 数 组 中,注 意:分 数 最

24、 高 的 学 生 可 能 不 止 一 个,函 数 返 回 分 数 最 高 的 学 生 的 人 数。答 案:int fun(STREC*a,STREC*b)int I,j=0,n=0,max;max=a0.s;for(i=0;imax)max=ai.s;fbr(i=0;iN;i+)if(ai.s=max)*(b+j)=ai;j+;n+;return n;3 5:第 35 题 请 编 写 一 个 函 数,用 来 删 除 字 符 串 中 的 所 有 空 格。答 案:void fun(char*str)int i=0;char*p=str;while(*p)i*p!=)stri=*p;i+;p+;st

25、ri=tO,;3 6:第 36 题 假 定 输 入 的 字 符 串 中 只 包 含 字 母 和*号。请 编 写 函 数 f u n,它 的 功 能 是:将 字 符 串 中 的 前 导*号 全 部 移 到 字 符 串 的 尾 部。答 案:void fiin(char*a)int i=0,n=0;char*p;p=a;while(*p=)n+;p+;while(*p)ai=*p;i+;p+;while(n!=0)i+;n;ai=c0,;3 7:第 37题 某 学 生 的 记 录 由 学 号、8 门 课 程 成 绩 和 平 均 分 组 成,学 号 和 8 门 课 程 的 成 绩 已 在 主 函 数

26、中 给 出。请 编 写 函 数 f u n,它 的 功 能 是:求 出 该 学 生 的 平 均 分 放 在 记 录 的 a v e成 员 中。请 自 己 定 义 正 确 的 形 参。答 案:void fun(STREC*p)double av=0.0;int i:fbr(i=O;isi;av/=N;p-ave=av;3 8:第 3 8 题 请 编 写 函 数 f u n,它 的 功 能 是:求 出 s s 所 指 字 符 串 中 指 定 字 符 的 个 数,并 返 回 此 值。答 案:int fun(char*ss,char c)int n=0;while(*ss)if(*ss=c)n-H-;

27、ss+;return n;3 9:第 3 9 题 请 编 写 函 数 f u n,该 函 数 的 功 能 是:移 动 一 维 数 组 中 的 内 容,若 数 组 中 由 n 个 整 数,要 求 把 下 标 从 0 到 p(p小 于 等 于 n1)的 数 组 元 素 平 移 到 数 组 的 最 后。答 案:void fun(int*w,int p,int n)int bN,i,j=0;for(i=0;i=p;i+)bi=wi;j4-+;fbr(i=O;iV=p;i+)wj=bi;j+;4 0:第 40 题 请 编 写 函 数 f u n,该 函 数 的 功 能 是 移 动 字 符 串 中 内 容

28、,移 动 的 规 则 如 下:把 第 1 到 第 m 个 字 符,平 移 到 字 符 串 的 最 后,把 第 m+1 到 最 后 的 字 符 移 到 字 符 串 的 前 部。答 案:void fun(char*w,int m)charbN;int I,j=0;for(i=0;im;i+)bj=wi;j-H-;for(i=O;istrlen(w)-m;i-H-)wi=wi+m;for(j=0;jm;j+)wi=bj;i-H-;wi=t0,;)4 1:第 41 题 请 编 写 函 数 fun,该 函 数 的 功 能 是:将 m 行 n 列 的 二 维 数 组 中 的 字 符 数 据,按 列 的 顺

29、 序 依 次 放 到 一 个 字 符 串 中。答 案:void fun(char(*s)n,char*b)int ij,k=O;for(j=0;jn;j+)fdr(i=0;im;i+)bk=*(*(s+i)ti)k+;bk=,0;42:第 4 2 题 下 列 程 序 定 义 了 nxn的 二 维 数 组,并 在 主 函 数 中 自 动 赋 值。请 编 写 函 数 该 函 数 的 功 能 是:将 数 组 右 上 半 三 角 元 素 中 的 值 乘 以 mo 答 案:void fun(int an,int m)int ij;fbr(j=O;jn;j-H-)fbr(i=O;i=j;i-H-)aLj=

30、aj*m;4 3:第 4 3 题 编 写 一 个 函 数,从 传 入 的 n u m 个 字 符 串 中 找 出 个 最 长 的 个 字 符 串,并 通 过 形 参 指 针 m a x传 回 该 串 地 址(用*作 为 结 束 输 入 的 标 志)。答 案:char*fun(char(*a)81,int num)int i;char*max;max=a0;fbr(i=O;i num;i+4-)if(strlen(max)strlen(a)max=a;return max;4 4:第 4 4 题 编 写 一 个 函 数,该 函 数 可 以 统 计 一 个 长 度 为 2的 字 符 串 在 另,个

31、 字 符 串 中 出 现 的 次 数。答 案:int fun(char*str,char*substr)int n;char*p,*r;n=0;while(*str)p=str;r=substr;while(*r)if(*r=*p)r+;p+;else break;iR*r=0)n+;str+4-;)return n;4 5:第 4 5 题 假 定 输 入 的 字 符 串 中 只 包 含 字 母 和*号。请 编 写 函 数 f u n,它 的 功 能 是:只 删 除 字 符 串 前 导 和 尾 部 的*号,串 中 字 母 之 间 的*号 都 不 删 除。形 参 n 给 出 了 字 符 串 的

32、长 度,形 参 h 给 出 了 字 符 串 中 前 导*号 的 个 数,形 参 e给 出 了 字 符 申 中 最 后 的*个 数。在 编 写 时 不 得 使 用 c 语 言 给 提 供 得 字 符 串 函 数。答 案:void fun(char*a,int n,int h,int e)int i=0;char*p;fbr(p=a+h;pa+n-e;p+)*(a+i)=*p;i+;*(a+i)=O;46:第 4 6 题 学 生 得 记 录 由 学 号 和 成 绩 组 称 个,名 大 学 生 得 数 据 已 在 主 函 数 中 n 放 入 结 构 体 数 组 s 中,请 编 写 函 数 f u n

33、,它 的 功 能 时:按 分 数 的 高 低 排 列 学 生 的 记 录,高 分 在 前。答 案:void fun(strec a)int i,j;strec t;fbr(i=O;in-l;i+)for(j=i;sn;j+)if(a.saj.s)t=a;a=aj;aj=t;)4 7:第 4 7 题 请 编 写 一 个 函 数 void fun(char*s s)其 功 能 时:将 字 符 串 ss中 所 有 下 标 为 奇 数 位 置 上 的 字 母 转 换 为 大 写(若 位 置 上 不 是 字 母,则 不 转 换)。答 案:voidfun(char*ss)int i,n=0;char*p=

34、ss;while(*p)n+;p+;for(i=0;in;i+)if(ss=la,&ss=z)&i%2!=0)ss=ss-32;ss=0;4 8:第 4 8 题 请 编 写 函 数 f u n,其 功 能 是:将 两 个 两 位 数 的 正 整 数 a,b 合 并 成 一 个 整 数 放 在 c 中。合 并 的 方 式 是:将 a 数 的 十 位 和 个 位 依 次 放 在 C 数 的 千 位 和 十 位 上,b 数 的 十 位 和 个 位 数 依 次 放 在 C 数 的 百 位 和 个 位 上。答 案:voidfiin(int a,int b,long*c)*c=(a/10)*1000+(b

35、/10)*100+(a%10)*10+b%10;4 9:第 49 题 请 编 写 函 数 f u n,其 功 能 是:s 所 指 字 符 串 中 下 标 位 偶 数 同 时 a s c ii将 值 为 奇 数 的 字 符 删 除,s 中 剩 余 的 字 符 形 成 的 新 串 放 在 t 所 指 的 数 组 中。答 案:void fun(char*s,char t)inti,j=O,n=strlen(s);for(i=0;in;i+)if(i%2=0&s%2!=0)else fj=s;j+;tj=O;5 0:第 50题 已 知 学 生 的 记 录 是 由 学 号 和 学 习 成 绩 构 成,名

36、 学 生 的 数 据 已 存 入 n a 机 构 体 数 组 中.请 编 写 函 数 f u n,该 函 数 的 功 能 是:找 出 成 绩 最 高 的 学 生 记 录,通 过 形 参 返 回 主 函 数(规 定 只 有 一 个 最 高 分)。答 案:void ftin(stu a口,stu*s)int i,max;max=a0.s;fbr(i=0;imax)max=a.s;*s=a;第 5 1 题 请 编 写 函 数 f u n,其 功 能 是:将 所 有 大 于 1 小 于 整 数 m 的 非 素 数 存 入 x x 所 指 的 数 组 中,非 素 数 的 个 数 通 过 k 传 回。答

37、案:void fun(intm,int*k,int xx)int i,j;int t=0;for(i=2;im;i+)j=2;while(ji)if(i%j=O)xxt=i;t+;break;j+;*k=t;)5 2:第 5 2 题 编 写 一 个 函 数 f u n,它 的 功 能 是:实 现 两 个 字 符 串 的 连 接(不 使 用 库 函 数 s trc a t),即 把 p 2 所 指 的 字 符 串 连 接 到 p l 所 指 的 字 符 串 后。答 案:void fun(char p 1,char p2)int i=0,n=0;char*p=pl,*q=p2;while(*p)p

38、+;n-H-;i=n;while(*p)pl=*q;q+;i+;p l=40,;5 3:第 5 3 题 请 编 写 函 数 fun,该 函 数 的 功 能 是:实 现 b=a+a,即 把 矩 阵 a 加 上 a 的 转 置,存 放 在 矩 阵 b 中。计 算 结 果 在 m a in函 数 中 输 出。答 案:void fun(int a33,int b33)int i,j,at33;fdr(i=0;i=2;i+)for(j=0;j=2;j+)atj=aj;for(i=0;i3;i+)for(j=0;j3;j+)bj=aj+atj;5 4;第 54 题 学 生 的 记 录 由 学 号 和 成

39、绩 组 称 个,名 学 生 的 数 据 已 在 主 函 数 中 放 n 入 结 构 体 数 组 s 中,请 编 写 函 数 fun,它 的 功 能 是:把 低 于 平 均 分 的 学 生 数 据 放 在 b 所 指 的 数 组 中,低 于 平 均 分 的 学 生 人 数 通 过 形 参 n 传 回,平 均 分 通 过 函 数 值 返 回。答 案:double fun(strec*a,strec*b,int*n)doubleaver=0.0;int i,j=0;*n=0;for(i=0;in;i+)aver+=a.s;aver/=n;for(i=0;in;i-H-)if(a.saver)bj=a

40、;(*n)+;j+;return aver;5 5:第 5 5 题 请 编 写 函 数 f u n,该 函 数 的 功 能 是:将 m行 n 列 的 二 维 数 组 中 的 数 据,按 行 的 顺 序 依 次 放 到 一 维 数 组 中,一 维 数 组 中 数 据 的 个 数 存 放 在 形 参 n 所 指 的 储 存 单 元 中。答 案:void fun(int(*s)10,int*b,int*n,int mm,int nn)(int i,j;fdr(i=O;imm;i-H-)for(j=O;jnn;j-H-)b*n=*(*(s+i)+j);*n=*n+l;5 6:第 56 题 假 定 输

41、入 的 字 符 串 中 只 包 含 字 母 和*号。请 编 写 函 数 f u n,它 的 功 能 是:除 了 尾 部 的*号 之 外,将 字 母 串 中 其 他*号 全 部 删 除。形 参 p 已 指 向 字 符 串 中 最 后 的 一 个 字 母。不 使 用 c 的 字 符 串 函 数。答 案:void fun(char*a,char*p)int i=0;char*p=a;while(q=p)if(*q!=*)a=*q;i+;q+;while(*q)a=*q;i+;q+;a=405;5 7:第 5 7 题 学 生 的 记 录 是 由 学 号 和 成 绩 组 成,名 学 生 的 数 据 已

42、在 主 函 数 中 放 n 入 结 构 体 数 组 s 中,请 编 写 函 数 f u n,它 的 功 能 是:把 指 定 分 数 范 围 内 的 学 生 数 据 放 在 b 所 指 的 数 组 中,分 数 范 围 内 的 学 生 人 数 由 函 数 值 返 回。答 案:int fun(strec*a,strec*b,int l,int h)int i,j=0;for(i=0;i=l&a.s=h)bj=a;j+;returnj;5 8:第 5 8 题 编 写 函 数 藏 服 那,它 的 功 能 是:求 n 以 内(不 包 括 n)同 时 能 被 3 与 7 整 除 的 所 有 自 然 数 之

43、和 的 平 方 根 s,并 作 为 函 数 值 返 回。答 案:double fun(intn)double s=0.0;int i;for(i=l;in;i+)if(i%3=0&i%7=0)s=s+i;s=sqrt(s);return s;5 9:第 59题 请 别 写 函 数 firn,该 函 数 的 功 能 是:将 放 在 字 符 串 数 组 中 的 m 个 字 符 串(每 串 的 长 度 不 超 过 n),按 顺 序 合 并 组 成 一 个 新 的 字 符 串。答 案:void fun(char amn,char*b)inti,j,k=O;fbr(i=0;im;i+)for(j=O;j

44、n;j+)if(*(*(a+i)+j)bk=*(*(a+i)+j)k+;else break;bk=l0,;6 0:第 6 0 题 请 编 写 函 数 f u n,该 函 数 的 功 能 是:删 去 一 维 数 组 中 所 有 相 同 的 数,使 之 只 剩 一 个。数 组 中 的 数 已 按 由 小 到 大 的 顺 序 排 列,函 数 返 回 删 除 后 数 组 中 数 据 的 个 数。答 案:int fun(int a,int n)int i,t,j=O,*p=a;t=pO;for(i=0;i=n)aj=t;return j;6 1:第 61 题 第 请 编 写 函 数 f u n,该 函

45、 数 的 功 能 使:统 计 各 年 龄 段 的 人 数。N 个 年 龄 通 过 调 用 随 机 函 数 获 得,并 放 在 主 函 数 的 a g e数 组 中;要 求 函 数 把 0 至 9 岁 年 龄 段 的 人 数 放 在 d0中,把 1 0至 1 9 岁 年 龄 段 的 人 数 放 在 d l中,把 2 0 至 2 9 岁 的 人 数 放 在 d2中,其 余 以 此 类 推,把 1 0 0岁(含 1 0 0以 上 年 龄 的 人 数 都 放 在 d10中。结 果 在 主 函 数 中 输 出。答 案:void fun(int*a,int*b)int i,j;for(j=0;im;j+)

46、bj=O;fbr(i=O;i=0&a=10&a=20&a=30&a=40&a=50&a=60&a=70&a=80&a=90&a=99)b9+=l;else b10+=l;6 2:第 6 2 题 请 编 写 函 数 f u n,该 函 数 的 功 能 是:统 一 一 含 字 符 串 中 单 词 的 个 数,作 为 函 数 值 返 回。一 行 字 符 串 在 主 函 数 中 输 入,规 定 所 有 单 词 由 小 写 字 母 组 成,单 词 之 间 由 若 干 个 空 格 格 开,一 行 的 开 始 没 有 空 格。答 案:int fiin(char*s)int i,n=0;fbr(i=O;i&s

47、=*z,&si+l=t,j si+l=*0,)n+;return n;6 3:第 63 题 请编 写 一 个 函 数 f u n,它 的 功 能 是:计 算 并 输 出 给 定 整 数 n 的 所 有 因 子(不 包 括 1 与 自 身)之 和。规 定 n 的 值 不 大 于 1000。答 案:int ftin(int n)int s=0,i;for(i=2;i=n-l;i+)if(n%i=0)s+=i;return s;6 4:第 6 4 题 请 编 写 函 数 f u n,其 功 能 是:s 所 指 字 符 串 中 ascii值 为 奇 数 的 字 将 符 删 除,串 中 剩 余 字 符

48、形 成 一 个 新 串 放 在 t 所 指 的 数 组 中。答 案:voidfun(char*s,char t)int i,j=0,n;n=strlen(s);fbr(i=0;in;i+)if(s%2=0)tj=s;j+;tj=lO,;)6 5:第 6 5 题 请 编 写 函 数 f u n,其 功 能 是:将 两 位 数 的 正 整 数 a、b 合 并 成 一 个 整 数 放 在 c 中。合 并 的 方 式 是:将 a 数 的 十 位 和 个 位 数 依 次 放 在 c 数 的 百 位 和 个 位 上,b 数 的 十 位 和 个 位 数 依 次 放 在 c 数 的 十 位 和 千 位 上。答

49、 案:void fun(int a,int b,long*c)*c=(b%10)*1000+(a/10)*100+(b/10)*10+a%10;66:第 66 题 假 定 输 入 的 字 符 串 中 只 包 含 字 母 和*号。请 编 写 函 数 f u n,它 的 功 能 是:删 除 字 符 串 中 所 有*号。在 编 写 函 数 时,不 得 使 用 c 语 言 提 供 的 字 符 串 函 数。答 案:void fun(char*a)int i=0;char*p=a;while(*p)if(*p!=4*)a=*p;i+;p+;a=0;6 7:第 6 7 题 学 生 的 记 录 时 由 学 号

50、 和 成 绩 组 成,名 学 生 的 数 据 已 在 主 函 数 中 放 n 入 结 构 体 数 组 s 中,请 编 写 函 数 f u n,它 的 功 能 时:函 数 返 回 指 定 学 号 的 学 生 数 据,指 定 的 学 号 在 主 函 数 中 输 入。若 没 找 到 指 定 学 号,在 结 构 体 变 量 中 给 学 号 置 空 串,给 成 绩 置-1,作 为 函 数 值 返 回(用 于 字 符 串 比 较 的 函 数 时 strcmp)。答 案:strec fun(strec*,char*b)int i;strec h;for(i=0;in;i+)if(strcmp(a.num,b

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

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

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

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