2012年3月全国计算机等级考试二级c语言上机考试题库及答案_已缩印(最新版来自机房题库) - 副本

上传人:kms****20 文档编号:39561150 上传时间:2018-05-17 格式:DOC 页数:5 大小:319KB
返回 下载 相关 举报
2012年3月全国计算机等级考试二级c语言上机考试题库及答案_已缩印(最新版来自机房题库) - 副本_第1页
第1页 / 共5页
2012年3月全国计算机等级考试二级c语言上机考试题库及答案_已缩印(最新版来自机房题库) - 副本_第2页
第2页 / 共5页
2012年3月全国计算机等级考试二级c语言上机考试题库及答案_已缩印(最新版来自机房题库) - 副本_第3页
第3页 / 共5页
2012年3月全国计算机等级考试二级c语言上机考试题库及答案_已缩印(最新版来自机房题库) - 副本_第4页
第4页 / 共5页
2012年3月全国计算机等级考试二级c语言上机考试题库及答案_已缩印(最新版来自机房题库) - 副本_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《2012年3月全国计算机等级考试二级c语言上机考试题库及答案_已缩印(最新版来自机房题库) - 副本》由会员分享,可在线阅读,更多相关《2012年3月全国计算机等级考试二级c语言上机考试题库及答案_已缩印(最新版来自机房题库) - 副本(5页珍藏版)》请在金锄头文库上搜索。

1、第第 1 套套 一、填空 给定函数的功能是调用 fun 函数建立班 级通讯录。通讯录记录每位学生的编号, 姓名和电话号码。班级的人数和学生的 信息从键盘读入,每个人的信息作为一 个数据块写到名为答案 yfile5.dat 的二进 制文件中。 答案:1. STYPE 2. FILE 3. fp 二、修改 先将在字符串 s 中的字符按正序存放到 t 串中,然后把 s 中的字符按逆序连接到 t 串后面。 答案:1. for(i = 0 ; i data t 二、将字符串中的字符按逆序输出,单 补改变字符串中的内容。 答案:void fun (char *a) printf(“%c“, *a) ; 三

2、、比较两个字符串的长度(不得调用 c 语言提供的求字符串长度的函数) ,函 数返回较长的字符串。若两个字符串长 度相同,则返回第一个字符串。 答案:int i; char *p=s , *q=t; int n=0,m=0; while(*p) n+;p+; while(*q) m+;q+; if(n=m) p=s; else p=t; return p; 第第 7 套套 一、删除链表中数据域值相同 的结点,使之只保留一个 答案: q next next 二、用选择法对数组中的 n 个元素按从 小到大的顺序进行排序。 答案: p = j; p=i; 三、求出 1 到答案之间(含答案)能被 7 或

3、 11 整除的所有整数放在数组 a 中, 通过 n 返回这些数的个数。 答案: int i ,j=0; *n=0 ; for(i=1 ; i=a for(i = 0 ; i ttji) min=ttji ; k = j ; ppi = ttki ; 第第 16 套套 一、程序通过定义。 。输出 这位学生的信息答案: tt tt.scorei std 二、求出数组中最大数和次大数,并把 最大数和 a【0】中的数对调,次最大数 和 a【1】中的书对调 答案: m=i; if(akam )m=k; 三、请编写一个程序。 。w 是一个大与 10 的无符号整数,若 w 是 n 为的整数, 函数求出 w

4、的低 n-1 位的数作为函数值 返回 答案: unsigned t,s=0, s1=1,p=0; t=w; while(t10) if(t/10) p=t%10; s=s+p*s1; s1=s1*10; t=t/10; return s; 第第 17 套套 一、.对形参 ss 所指字符串 数组中的 M 个字符串按长度由短到长 进行排序。ss 所指字符串数组中共有 M 个字符串,且串长N 答案: i+1 k=j t 二、判断 ch 中字符是否与 str 所指串中 的某个字符相同;若相同,什么也不做, 若不同,则将其插在串的最后 答案: void fun(char *str,char ch) if

5、(*str != ch) str1=0; 三、请编写一个函数把 s 所指字符串中 的内容逆值 答案: char bN ; int i = 0, j ; memset(b,0,N); for(j = strlen(s) - 1 ; j = 0 ; j-) bi+ = sj ; strcpy(s,b); 第第 18 套套 一、求出形参 ss 所指的字符 串数组中最长字符串的长度,其余字符 串左边用字符*补齐,使其与最长的字 符串等长,字符串数组中共有 M 个字符 串 答案: k len ssij 二、计算整数 n 的阶乘 答案: result*=n-; return result; 三、从 s 所

6、指的字符串中删除给定字符。 同一个字母的大小写按不同字符处理 答案: char*p=s; int i = 0; while(*p) if(*p!= c) si+ = *p ; p+; si = 0 ; 第第 19 套套 一、求出形参 ss 所指字符串 数组中最长字符串的长度,将其余字符 串右边用字符*补齐,使其与最长的字 符串等长。Ss 所指的字符串数组中共有 M 个字符串 答案: ssi n+j 1 二、将 p 所指字符串中每个单词的最后 一个字母改成大写 答案:if(*p= ) *(p-1)=toupper(*(p-1); 三、请编写函数 fun 对长多为 7 个字符 的字符串,除首,尾字

7、符外,将其余 5 个字符按 ASCII 降序排列 答案: char t ; int i, j ; for(i = 1 ; i = a 三、删除一个字符串中指定下标的字符, 其中,a 指向原字符,删除指定字符后 的字符串存在 b 所指的数组中,n 中存放指定下标 答案: int p,m=0; for(p=0;p0.000001); return x1; 第第 29.套套 一将 N*N 的矩阵中元素值 按列右移 1 个位置,右边被移出矩阵的 元素绕回左边 答案: N N-1 0 二计算并输出下列的前 N 项之和 Sn,Sn+1 大于 q 为止,q 的值通过形参 传入 答案: s=s+(n+1.)/

8、n; return t; 三 求 Fibon.数列中大于 t 的最小的 一个数,结果由函数返回, 答案: int f0 = 0, f1 = 1, f ; do f = f0 + f1 ; f0 = f1 ; f1 = f ; while(f amid) 三除了尾部的*号外,将字符串中的*号 全部删除,形参 p 以指向字符串中最后 的一个字符, 答案: char *q=a; int j=0; while(*q char *q=a; while(*q a-ave /= N ; 第 37 套 一一.把形参 a 所指数组中的 最大值放在 a【1】中,按着求出 a 所指 数组中的最小值放在 a【1】数组

9、中; 把 a 所指数组元素的次大值放在 a【2】 中,把 a 数组元素中的次小值放在 a【3】中;其余以此类推。 答案: *a 2 i+1 二按顺序给 s 所指数组中的元素赋予从 2 开始的偶数,在按顺序对每五个元素 求个一平均值,并将这些值依次存放在 w 所指的数组中,若 s 所指数组元素的 个数不是 5 的倍数,多于部分忽略不计 答案: sum=0.0; if(i+1)%5=0) 三把低于平均分的学生数据放在答案所 指的数组中,低于平均分的学生人数通 过形参 n 传回,平均分通过函数值返回 答案: int i ; double ave = 0.0 ; *n = 0 ; for(i = 0;

10、 i next; double av=0.0;int n = 0 ;while(p!=NULL) av=av+p-s ; p=p-next; n+; av /= n ; return av; 第第 41 套套 一.函数 fun 的功能。 。进行字 母转换,其他字符则保持不变, 答案: 三计算并输出给定整数 n 的所有因子之 和,规定 n 的值不大于 1000 答案: int s = 0, i ; for(i = 2 ; i =0 n+=1; sn+=xn; return(sn); 第第 44 套套 一.计算 f(x) =1+x+x2/2!.xn/n! 的前 n 项, 答案: 1 1 i 二找出

11、 100 至 n 之间三位数字相等的所 有整数,把这些整数放在 s 所指数组中, 个数作为函数值返回 答案: k=i; c=k%10; 三计算并输出给定 10 个数的方差 答案: int i; double avg=0.0, sum=0.0,abs=0.0, fc; for (i=0;i1 int i,j; for(i = 0; i =eps) pi+=s;t=n/(2*n+1);s*=t;n+: pi=pi*2; return pi; 第第 57 套套 一计算下式前 n 项的和作 为函数值返回。 S=1*3/22-3*5/42+5*7/62+(-1)n-1(2*n- 1)*(2*n+1)/(

12、2*n)2. 答案: 1 2*i (-1) 二判断一个数是否为素数若是返回 1 否 则返回 0 答案:k+ ; if (m=k) 三 找出一维整形数组元素中最大值和 他所在的下标,最大的值和他所在的下 标通 答案: int i ; *max=a0;*d = 0 ; for(i= 1; i (2*i+1) 二求下列分数序列前 n 项和,结果通过 函数值返回主函数答案: double fun(int n) s=s+(double)a/b; 三求去一个 2*答案整型二维数组中最大 元素的值,并将此值返回调用函数 答案: int i, j, max=a00; for(i=0; i ai.s) j =

13、i ; min = ai.s ; *s = aj ; 第第 63 套套 一.计算 x 所指数组中 N 个 数的平均值,平均值通过形参返回主函 数,将小于平均值的最接近平均值的数 作为函数值返回,在主函数中输出 答案: *av i xj 二根据整形形参 n,计算如下公式 答案: float fun(int n) for(i=2;i upfst(char *p) 三求出数组周边元素的平均值并作为函 数值返给主函数中的 s. 答案;int i,j,n=0; double sum=0; for(i=0;i(i/2)aak+= i ; return k ; 第第 69 套套 一最外层元素全为 1.。建

14、立一个 N*N 矩阵,矩阵元素的过程规 律是:最外层的元素的值全部为 1;从 外向内第 2 层元素全部为 2以此类推 答案: N i i+1 二将十进制正整数 m 转换成看 k 进制数。并按高位到低位顺序输出。 答案:aai=m%k ; printf(“%d”,aai-1) ; 三编写一个函数 fun 从 num 个字符串中 找出最长的一个字符串,并通过形参指 针 max 传回该串地址。 答案 int i,k=0,maxlen;maxlen=strlen(ak); for(i=1;imaxlen) maxlen=strlen(ai);k=i; *max=ak ; 第第 70 套套 一判定形参

15、a 所指的 N*N 的矩阵是否是幻方,若是,函数返回值 是 1,暴怒是,函数返回至是 0。 答案; 0 | | 1 二更具整型形参 m,计算如下公式的值 T=1-1/2-1/3-1/m 答案: t=t-1.0/i; return t ; 三请编写一个函数。 。删除字符串中的 所有空格 答案: char *p=str ; int i=0; while(*p) f(*p!= )stri+=*p; p+=; stri=0; 第第 71 套套 一将 a 所指 4*3 矩阵中第 k 行的元素与第 0 行元素交换。 答案: k N aki 二读入一个字符串,将该字符串中的所 有字符按 ASCII 码升序排序后输出。 答案: for(i=strlen(t)-1;i;i-) if(tj

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

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号