全国计算机二级C语言上机题库答案_第1页
全国计算机二级C语言上机题库答案_第2页
全国计算机二级C语言上机题库答案_第3页
全国计算机二级C语言上机题库答案_第4页
全国计算机二级C语言上机题库答案_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

【 填 空 】 函 数 fun 的 功 能 是 计 算 如 下公 式 。 直 到 , 并 且 把 计 算 结 果 作 为 函数 值 返 回 。 例 如 , 若 形 参 e 的 值 为 1e 3, 则 函 数 返 回 值 为 0.551690。【 答 案 】 【 1】 3.0【 2】 【 3】 (t 1)【 改 错 】 函 数 fun 的 功 能 是 : 求 出 如下 分 数 序 列 的 前 n 项 之 和 。 和 值 通 过函 数 值 返 回 。 例 如 , 若 n 5, 则 应 输出 8.391667。【 答 案 】 【 1】 double fun(int n)【 2】 s s (double)a/b;【 编 程 】 请 编 写 函 数 fun, 其 功 能 是 :找 出 2 M 整 型 二 维 数 组 中 最 大 元 素的 值 , 并 将 此 值 返 回 调 用 函 数 。【 答 案 】int fun (int a M)int i, j, max a00;for(i 0; i eps) s1 s1*n/(2*n+1);s s s1;n ;return 2*s【 填 空 】 函 数 fun 的 功 能 是 : 统 计 形参 s所 指 的 字 符 串 中 数 字 字 符 出 现 的次 数 , 并 存 放 在 形 参 t所 指 的 变 量 中 ,最 后 在 主 函 数 中 输 出 。例 如 , 若 形 参 s 所 指 的 字 符 串 为abcdef35adgh3kjsdf7, 则 输 出 结 果为 4。【 答 案 】 【 1】 si 【 2】 9 【 3】*t n【 改 错 】 函 数 fun 的 功 能 是 : 实 现 两个 变 量 值 的 交 换 , 规 定 不 允 许 增 加 语句 和 表 达 式 。 例 如 , 变 量 a 中 的 值 原为 8, b 中 的 值 原 为 3, 程 序 运 行 后 a中 的 值 为 3, b 中 的 值 为 8。【 答 案 】 【 1】 t *x ; *x y ;【 2】 return(t) ;【 编 程 】 编 写 函 数 fun, 其 功 能 是 :求 出 1到 1000之 间 能 被 7或 11整 除 ,但 不 能 同 时 被 7 和 11 整 除 的 所 有 整数 , 并 将 其 放 在 a 所 指 的 数 组 中 , 通过 n 返 回 这 些 数 的 个 数 。【 答 案 】void fun(int *a, int *n)int i, j 0;for(i 1; iave 0.0;for(i 0; iave a ave a si;【 填 空 】 函 数 fun 的 功 能 是 进 行 数 字字 符 转 换 。 若 形 参 ch 中 是 数 字 字 符0 9, 则 将 0转 换 成 9, 1转 换 成 8, 2转 换 成 7, ,9转 换 成 0; 若 是 其 它 字 符 则 保 持不 变 ; 并 将 转 换 后 的 结 果 作 为 函 数 值返 回 。【 答 案 】 【 1】 char【 2】 chnext;while(p! NULL) av av p s;p p next;【 填 空 】 函 数 fun 的 功 能 是 : 求 ss所 指 字 符 串 数 组 中 长 度 最 短 的 字 符串 所 在 的 行 下 标 , 作 为 函 数 值 返 回 ,并 把 其 串 长 放 在 形 参 n 所 指 的 变 量中 。 ss 所 指 字 符 串 数 组 中 共 有 M 个 字符 串 , 且 串 长 a )for(j 0; tj! 0 ; j );if(i j)return s;elsereturn t;【 填 空 】 函 数 fun 的 功 能 是 : 逆 置 数组 元 素 中 的 值 。 例 如 : 若 a 所 指 数 组中 的 数 据 为 : 1、 2、 3、 4、 5、 6、 7、8、 9, 则 逆 置 后 依 次 为 : 9、 8、 7、 6、5、 4、 3、 2、 1。 形 参 n 给 出 数 组 中数 据 的 个 数 。【 答 案 】【 1】 n/2【 2】 i【 3】 an i 1【 改 错 】 函 数 fun 的 功 能 是 : 将 一 个由 八 进 制 数 字 字 符 组 成 的 字 符 串 转换 成 与 其 面 值 相 等 的 十 进 制 整 数 。 规定 输 入 的 字 符 串 最 多 只 能 包 含 5位 八进 制 数 字 字 符 。例 如 , 若 输 入 77777, 则 输 出32767。【 答 案 】 【 1】 n *p 0 ;【 2】 n n*8 *p 0 ;【 编 程 】 学 生 的 记 录 由 学 号 成 绩 组成 , N 名 学 生 的 数 据 已 放 入 主 函 数 中的 结 构 体 数 组 s 中 , 请 编 写 函 数 fun,其 功 能 是 : 函 数 返 回 该 学 号 的 学 生 数据 , 指 定 的 学 号 在 主 函 数 中 输 入 。 若没 找 到 指 定 学 号 , 在 结 构 体 变 量 中 给学 号 置 空 串 , 给 成 绩 置 1, 作 为 函数 值 返 回 。 (用 于 字 符 串 比 较 的 函 数是 strcmp)。【 答 案 】STREC fun(STREC *a, char *b)int i;STREC str “0“, 1;if(strcmp(ai num, b) 0)str ai;return str;【 填 空 】 下 列 给 定 程 序 的 功 能 是 : 调用 函 数 fun将 指 定 源 文 件 中 的 内 容 复制 到 指 定 的 目 标 文 件 中 , 复 制 成 功 时函 数 返 回 1, 失 败 时 返 回 0。 在 复 制的 过 程 中 , 把 复 制 的 内 容 输 出 到 屏幕 。 主 函 数 中 源 文 件 名 放 在 变 量sfname 中 , 目 标 文 件 名 放 在 变 量tfname 中 。【 答 案 】【 1】 “r“ 【 2】 fs 【 3】 ft【 改 错 】 函 数 fun 的 功 能 是 : 将 长 整型 数 中 各 位 上 为 偶 数 的 数 依 次 取 出 ,构 成 一 个 新 数 放 在 t 中 。 高 位 仍 在 高位 , 低 位 仍 在 低 位 。 例 如 , 当 s 中 的数 为 87653142 时 , t中 的 数 : 8642。【 答 案 】 【 1】 if(d%2 0)【 2】 s/ 10;【 编 程 】 编 写 函 数 fun, 其 功 能 是 :将 两 个 两 位 数 的 正 整 数 a、 b 合 并 成一 个 整 数 放 在 c 中 。 合 并 的 方 式 是 :将 a数 的 十 位 和 个 位 数 依 次 放 在 c数的 十 位 和 千 位 上 , b 数 的 十 位 和 个 位数 依 次 放 在 c 数 的 百 位 和 个 位 上 。例 如 , 当 a 45, b 12 时 , 调用 该 函 数 后 , c 5142。【 答 案 】void fun(int a, int b, long *c)*c b%10 (a/10)*10 (b/10)*100 (a%10)*1000;【 填 空 】 函 数 fun 的 功 能 是 : 有 N N矩 阵 , 根 据 给 定 的 m(m 2) si sj;sj t;【 填 空 】 请 补 充 main 函 数 , 该 函 数的 功 能 是 : 求 n! 。 例 如 , 7! 5040。【 答 案 】【 1】 stri; i )【 编 程 】 请 编 写 一 个 函 数 fun, 它 的功 能 是 : 将 ss 所 指 字 符 串 中 所 有 下标 为 奇 数 位 置 的 字 母 转 换 为 大 写 (若该 位 置 上 不 是 字 母 , 则 不 转 换 )。例 如 , 若 输 入 abc4Efg, 则 应 输出 aBc4EFg。【 答 案 】void fun(char *ss)int i;for(i 0; ssi! 0 ; i )if(i%2 1【 填 空 】 请 补 充 函 数 fun, 该 函 数 的功 能 是 : 按 “0“到 “9“统 计 一 个 字 符 串中 的 奇 数 数 字 字 符 各 自 出 现 的 次 数 ,结 果 保 存 在 数 组 num 中 。例 如 , 输 入 “x 112385713.456 0.909【 答 案 】【 1】 *p【 2】 bb*p 0 【 3】 numj bbi【 改 错 】 函 数 fun 的 功 能 是 : 将 字 符串 s 中 的 位 于 奇 数 位 置 的 字 符 或ASCII 码 为 偶 数 的 字 符 依 此 放 入 字 符串 t 中 。 例 如 , 字 符 串 中 的 数 据 为AABBCCDDEEFF, 则 输 出 应 当 是 ABBCDDEFF。【 答 案 】 【 1】 if(i%2 | si%2 0) 【 2】 tj 0;【 编 程 】 请 编 写 函 数 fun, 它 的 功 能是 计 算 下 列 级 数 和 , 和 值 由 函 数 值 返回 。 S 1 x x2/2! x3/3! xn/n!例 如 , 当 n 10, x 0.3 时 ,函 数 值 为 1.349859。【 答 案 】double fun(double x, int n)int i;double s 1.0, s1 1.0;for(i 1; iy【 2】 xz【 3】 yz【 改 错 】 函 数 fun 的 功 能 是 : 根 据 整型 形 参 n, 计 算 如 下 公 式 的 值 。A1 1, A2 1/(1 A1), A31/(1 A2), , An 1/(1 A(n 1)例 如 , 若 n 10, 则 应 输 出0.617977。【 答 案 】 【 1】 float fun(int n)【 2】 for(i 2; isai s)*s ai;【 填 空 】 请 补 充 函 数 fun, 该 函 数 的功 能 是 : 求 100(不 包 括 100)以 内 能被 2 或 5 整 除 , 但 不 能 同 时 被 2 和 5整 除 的 自 然 数 。 结 果 保 存 在 数 组 bb中 , 函 数 fun 返 回 数 组 bb 元 素 的 个数 。【 答 案 】 【 1】 i 1, j 0【 2】 bbj i【 3】 return j【 改 错 】 函 数 fun 的 功 能 是 : 求 出 如下 分 数 列 的 前 n 项 之 和 。2,1, 3,2, 5,3, 8,5, 13,8, 21,13, 和 值 通 过 函 数 值 返 回 main函 数 。例 如 , 若 n 5, 则 应 输 出 8.391667。【 答 案 】 【 1】 double fun(int n)【 2】 s s (double)a/b;【 编 程 】 请 编 写 函 数 fun, 其 功 能 是 :计 算 并 输 出 下 列 多 项 式 值 ,S (1 1/2) (1/3 1/4) (1/(2n 1) 1/2n)例 如 , 若 主 函 数 从 键 盘 给 n输 入8后 , 则 输 出 为 S 0.662872。【 答 案 】double fun(int n)int i;double s 0.0;for(i 1; i1)【 编 程 】 已 知 学 生 的 记 录 由 学 号 和 学习 成 绩 构 成 , N 名 学 生 的 数 据 已 存 入a 结 构 体 数 组 中 。 请 编 写 函 数 fun,该 函 数 的 功 能 是 : 找 出 成 绩 最 高 的 学生 记 录 , 通 过 形 参 返 回 主 函 数 (规 定只 有 一 个 最 高 分 )。 已 给 出 函 数 的 首部 , 请 完 成 该 函 数 。【 答 案 】fun(STU a, STU *s)int i;*s a0;for(i 0; is a 【 2】 if( *r 0 )【 编 程 】 请 编 写 函 数 fun, 其 功 能 是 :计 算 并 输 出 给 定 数 组 (长 度 为 9)中 ,每 相 邻 两 个 元 素 的 平 均 值 的 平 方 根之 和 。例 如 , 若 给 定 数 组 中 的 9个 元 素依 此 为 12.0、 34.0、 4.0、 23.0、 34.0、45.0、 18.0、 3.0、 11.0, 则 输 出 应为 s 35.951014。【 答 案 】double fun(double x9)double sum 0.0;int i, j 1;for(i 0; i tj 1)【 编 程 】 假 定 输 入 的 字 符 串 中 只 包 含字 母 和 *号 。 请 编 写 函 数 fun, 它 的 功能 是 : 使 字 符 串 中 前 部 的 *号 不 得 多余 n 个 ; 若 多 余 n 个 , 则 删 除 多 余 的*号 ; 若 少 于 或 等 于 n 个 , 则 什 么 也不 做 , 字 符 串 中 间 和 尾 部 的 *号 不 删除 。 例 如 , 字 符 串 中 的 内 容 为*A*BC*DEF*G*。 若 n 的 值为 2, 删 除 后 , 字 符 串 中 的 内 容 则 应当 是 *A*BC*DEF*G*; 若 n 的值 为 4, 则 字 符 串 中 的 内 容 仍 为*A*BC*DEF*G*。 n 的 值 在 主函 数 中 输 入 。【 答 案 】void fun(char *a, int n )int i 0, k 0;char *p, *t;p t a;while(*t * )k ; t ; if(kn) while(*p)ai *(p k n);i ;p ;ai 0 ;【 填 空 】 请 补 充 函 数 fun(char*s),该 函 数 的 功 能 是 : 把 字 符 串 中 的 内 容逆 置 。例 如 , 字 符 串 中 原 有 的 字 符 串 为abcde, 则 调 用 该 函 数 后 , 串 中 的 内容 为 edcba。【 答 案 】 【 1】 n 【 2】 si sn【 3】 sn t【 改 错 】 函 数 fun 的 功 能 是 : 依 此 取出 字 符 串 中 所 有 的 数 字 字 符 , 形 成 新的 字 符 串 , 并 取 代 原 字 符 串 。【 答 案 】 【 1】 sj si;【 2】 sj 0 ;【 编 程 】 编 写 函 数 fun, 该 函 数 的 功能 是 : 从 字 符 串 中 删 除 指 定 的 字 符 。同 字 母 的 大 、 小 写 按 不 同 字 符 处 理 。例 如 , 若 程 序 执 行 时 输 入 字 符 串为 : turbo c and borland c 从 键 盘 上 输 入 字 符 n, 则 输 出 为 :turbo c ad borlad c 如 果 输 入 的 字 符 在 字 符 串 中 不存 在 , 则 字 符 串 照 原 样 输 出 。【 答 案 】void fun(char s, int c)int i 0;char *p;p s;while(*p)if(*p! c) si *p;i ;si 0 ;【 填 空 】 请 补 充 main 函 数 , 该 函 数的 功 能 是 : 从 键 盘 输 入 3 个 整 数 , 然后 找 出 其 中 最 大 的 数 并 输 出 。 例 如 ,输 入 12,45,43, 最 大 值 为 45。【 答 案 】 【 1】 max a【 2】 max b【 3】 max c【 改 错 】 下 列 给 定 程 序 的 功 能 是 : 建立 一 个 带 头 节 点 的 单 向 链 表 , 并 用 随机 函 数 为 各 节 点 数 据 域 赋 值 。 函 数fun 的 作 用 是 求 出 单 向 链 表 节 点 (不包 括 头 节 点 )数 据 域 中 的 最 大 值 , 并且 作 为 函 数 值 返 回 。【 答 案 】 【 1】 p h next;【 2】 p p next;【 编 程 】 下 列 程 序 定 义 了 N N 的 二维 数 组 , 并 在 主 函 数 中 自 动 赋 值 。 请编 写 函 数 fun(int a N, int n),该 函 数 的 功 能 是 : 使 数 组 右 上 半 三 角元 素 中 的 值 乘 以 m。 例 如 , 若 m 的 值为 2, a 数 组 中 的 值 为 :a 1 9 72 3 84 5 6则 返 回 主 程 序 后 a 数 组 中 的 值 应 为 :2 18 142 6 164 5 12【 答 案 】void fun(int aN, int m)int i, j;for(j 0; j0【 2】 n%10 0【 3】 stri 0【 改 错 】 已 知 一 个 数 列 从 0 项 开 始 的前 3 项 : 0,0,1, 以 后 的 各 项 都 是 其相 邻 的 前 3 项 之 和 。 下 列 给 定 的 程 序中 , 函 数 fun 的 功 能 是 : 计 算 并 输 出该 数 列 前 n 项 的 平 方 根 之 和 sum。 n的 值 通 过 形 参 传 入 。 例 如 , 当 n 10时 , 程 序 的 输 出 结 果 应 为 23.197745。【 答 案 】 【 1】 double fun(int n)【 2】 return sum ;【 编 程 】 请 编 写 函 数 fun, 该 函 数 的功 能 是 : 将 放 在 字 符 串 数 组 中 的 M 个字 符 串 (每 串 的 长 度 不 超 过 N), 按 顺序 合 并 组 成 一 个 新 的 字 符 串 。 例 如 ,若 字 符 串 数 组 中 的 M 个 字 符 串 为AAAABBBBBBBCC则 合 并 后 的 字 符 串 内 容 应 该 是AAAABBBBBBBCC【 答 案 】void fun(char aMN, char *b)int i, j, k 0;for(i 0; i0.001)【 编 程 】 已 知 学 生 的 记 录 由 学 号 和 学习 成 绩 构 成 , N名 学 生 的 数 据 已 存 入 a结 构 体 数 组 中 。 请 编 写 函 数 fun, 该函 数 的 功 能 是 : 找 出 成 绩 最 低 的 学 生记 录 , 通 过 形 参 返 回 主 函 数 (规 定 只有 一 个 最 低 分 )。 已 给 予 出 函 数 的 首部 ,请 完 成 该 函 数 。【 答 案 】fun(STU a,STU *s)int i, min;min=a0.s; for(i=0;idata=rand()%(m-1);【 编 程 】 请 编 一 个 函 数 fun(char*s), 该 函 数 的 功 能 是 把 字 符 串 中 的内 容 逆 置 。 例 如 : 字 符 串 中 原 有 的 字符 串 为 abcdefg, 则 调 用 该 函 数 后 ,串中 的 内 容 为 gfedcba。【 答 案 】fun(char *s)char ch;int i,n;i=0;n=strlen(s)-1; while(ihigh, 查 找 结 束 。【 答 案 】 【 1】 int fun(int a ,int m) 【 2】 else if(mamid)【 编 程 】 编 写 函 数 fun(), 该 函 数 的功 能 是 从 字 符 串 中 删 除 指 定 的 字 符 ,同 一 字 母 的 大 、 小 写 按 不 同 字 符 处理 。例 如 : 程 序 执 行 时 输 入 字 符 串 为turbo c and borland c+, 从 键 盘上 输 入 字 符 n, 则 输 出 后 变 为 turbo cad borlad c+。【 答 案 】int fun(char s , int c)int i=0;char *p;p=s;while(*p)if(*p!=c)si=*p;i+;p+;si=0;【 填 空 】 fun()函 数 的 功 能 是 : 将 n个无 序 整 数 从 小 到 大 排 序 。【 答 案 】 【 1】 n-1 【 2】 j+1【 3】 z+【 改 错 】 函 数 fun()的 功 能 是 根 据 整型 形 参 m, 计 算 如 下 公 式 的 值 。 例 如 :m中 的 值 为 5,则 应 输 1.463611。【 答 案 】 【 1】 for(i=2;ihigh, 查 找 结 束 。【 答 案 】 【 1】 (low+high)/2【 2】 mid-1 【 3】 return【 改 错 】 函 数 fun()的 功 能 是 按 以 下递 归 公 式 求 函 数 值 。 Fun(n)=10(n=1)Fun(n-1)+2 (n1)例 如 : 当 给 n输 入 5时 , 函 数 值 为 18; 当 给 n输 入 3时 , 函 数 值 为 14。【 答 案 】【 1】 fun(int n)【 2】 if(n=1)【 编 程 】 请 编 写 函 数 fun(), 该 函 数的 功 能 是 判 断 字 符 串 是 否 为 回 文 , 若是 则 函 数 返 回 1, 主 函 数 中 输 出 YES;否 则 返 回 0, 主

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论