全国计算机等级考试二级C语言 2012上机真题1120.pdf
全国计算机等级考试_二级 C 练习系统第 11 套试题 程序填空题 程序通过定义并赋初值的方式,利用结构体变量存储了一名学生的信息。函 数 fun 的功能是输出这位学生的信息。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结 果。 注意源程序存放在考生文件夹下的 BLANK1.C 中。 不得增行或删行,也不得更改程序的结构 第一部分试题出错测试点信息 第 1.1 题 系统第 1 处填空答案为tt 系统第 2 处填空答案为tt.scorei 系统第 3 处填空答案为std 程序修改题 给定程序 MODI1.C 中函数 fun 的功能是求出数组中最大数和次最大数,并 把最大数和 a0中的数对调、次最大数和 a1中的数对调。 请改正程序中的错误,使它能得出正确的结果。 注意不要改动 main 函数,不得增行或删行,也不得更改程序的结构 第二部分试题出错测试点信息 第 1.1 题 系统第 1 个语句答案为mi;而考生所答m0; 系统第 2 个语句答案为ifakam mk;而考生所答ifakamkm; 程序设计题 请编写一个函数 unsigned fun unsigned w ,w 是一个大于 10 的无符 号整数,若 w 是 n n 2位的整数,函数求出 w 的低 n-1 位的数作为函数值返 回。 例如w 值为 5923,则函数返回 923; w 值为 923 则函数返回 23。 注意 部分源程序存在文件 PROG1.C 中。 请勿改动主函数 main 和其它函数中的任何内容,仅在函数 fun 的花括号中填入 你编写的若干语句。 include include unsigned fun unsigned w ifw10000 w 10000 ; else ifw1000 w 1000 ; else ifw100 w 100 ; else ifw10 w 10 ; return w ; main unsigned x; printf “Enter a unsigned integer number “ ; scanf “u“, printf “The original data is un“, x ; if x include define N 81 fun char *s char bN ; int i 0, j ; memsetb, 0, N ; forj strlens - 1 ; j 0 ; j bi sj ; strcpys, b ; main char aN; printf “Enter a string “ ; gets a ; printf “The original string is “ ; puts a ; fun a ; printf“n“; printf “The string after modified “; puts a ; NONO ; NONO /* 请在此函数内打开文件,输入测试数据,调用 fun 函数, 输出数据,关闭文件。 */ int i ; char aN ; FILE *rf, *wf ; rf “CWEXAM24990001in.dat“,“r“ ; wf “CWEXAM24990001out.dat“,“w“ ; fori 0 ; i include int funchar s,char c char *p s ; int i 0 ; while*p if*p c si *p ; p ; si 0 ; main static char str“turbo c and borland c“; char ch; printf“原始字符串sn“, str; printf“输入一个字符“; scanf“c“, funstr,ch; printf“strsn“,str; NONO; NONO /* 请在此函数内打开文件,输入测试数据,调用 fun 函数, 输出数据,关闭文件。 */ FILE *rf, *wf ; char s81, ch, w ; int len ; rf “CWEXAM24990001in.dat“,“r“ ; wf “CWEXAM24990001out.dat“,“w“ ; fgetss, 80, rf ; fscanfrf, “c“, len strlens - 1 ; w slen ; ifw n w 0 x1a slen 0 ; funs, ch ; fprintfwf, “s“, s ; fcloserf ; fclosewf ; 全国计算机等级考试_二级 C 练习系统第 14 套试题 程序填空题 给定程序中,函数 fun 的功能是求出形参 ss 所指字符串数组中最长字符串的 长度,将其余字符串右边用字符*补齐,使其与最长的字符串等长。ss 所指字符串 数组中共有 M 个字符串,且串长 include include int funchar *s,int num char ch ; int i, j ; fori 1 ; i include int funchar *str,char *substr int cnt 0 ; char *p str, *q ; while*p q strstrp, substr ; ifq NULL break; p q strlensubstr ; cnt ; return cnt ; main char str81,substr3; int n; printf“输入主字符串 “; getsstr; printf“输入子字符串 “; getssubstr; putsstr; putssubstr; nfunstr,substr; printf“ndn“,n; NONO; NONO /* 请在此函数内打开文件,输入测试数据,调用 fun 函数, 输出数据,关闭文件。 */ char str81,substr3, ch; int n,len, i 0; FILE *rf, *wf ; rf “CWEXAM24990001in.dat“,“r“ ; wf “CWEXAM24990001out.dat“,“w“ ; whilei int isPint m int j, tag 0 ; forj 2 ; j include define M 81 int funchar *ss, char c int cnt 0 ; char *p ss ; while*p if*p c cnt ; p ; return cnt ; main char aM, ch; printf“nPlease enter a string“; getsa; printf“nPlease enter a char“; ch getchar; printf“nThe number of the char is dn“, funa, ch; NONO ; NONO /* 本函数用于打开文件,输入测试数据,调用 fun 函数,输出数据,关闭文件。*/ int i ; FILE *rf, *wf ; char aM, bM, ch ; rf “CWEXAM24990001in.dat“,“r“ ; wf “CWEXAM24990001out.dat“,“w“ ; fori 0 ; i void fun int a33, int b33 int c33 ; int i, j ; fori 0 ; i void fun int *a, int *n int i ; *n 0 ; fori 7 ; i include void funchar *tt, int pp char *p tt ; int i ; fori 0 ; i a p ; main char aa1000 ; int bb26, k, n ; printf “nPlease enter a char string“ ; scanf“s“, aa ; funaa, bb ; for k 0 ; k 26 ; k printf “d “, bbk ; printf “n“ ; NONO ; NONO /* 本函数用于打开文件,输入测试数据,调用 fun 函数,输出数据,关闭文件。*/ char aa1000 ; int bb26, k, n, i ; FILE *rf, *wf ; rf “CWEXAM24990001in.dat“,“r“ ; wf “CWEXAM24990001out.dat“,“w“ ; fori 0 ; i 10 ; i fscanfrf, “s“, aa ; funaa, bb ; for k 0 ; k 26 ; k fprintf wf, “d “, bbk ; fprintfwf, “n“ ; fcloserf ; fclosewf ; QQ345927906