2010-2012年江苏省计算机二级C上级考试试题及答案上机(共14页).doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《2010-2012年江苏省计算机二级C上级考试试题及答案上机(共14页).doc》由会员分享,可在线阅读,更多相关《2010-2012年江苏省计算机二级C上级考试试题及答案上机(共14页).doc(14页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上专心-专注-专业2012 春江苏省高校计算机等级考试二级 C 语言上机试卷 1(本试卷完成时间为 70 分钟)一、改错题(16 分)【程序功能】以下程序中函数 void csort(char strN,int n)对 str 指向的二维数组前n 行中存储的 n个字符串分别作如下处理:从中间将字符串一分为二,左半部分字符子串按字符的 ASCII 码值从大到小排序(若字符串的长度为奇数,则中间字符不参加排序)。【测试数据与运行结果】测试字符串:abcdefgh,屏幕输出:dcbaefgh【含有错误的源程序】以下源程序已保存在 T 盘 myf1.c 文件内,考生可直接打开该
2、文件的调试程序。1#include2#include3#include4#define N 805void csort(char strN,int n);6void main()7char s2N=abcdefgh,;8int i;9csort(s,2);10for(i=0;i2;i+)11puts(s);12getch();1314void csort(char strN,int n)15int i,j,k,len,half;16char temp;17for(i=0;in;i+)18len=strlen(stri0);19half=len/2;20for(j=0;jhalf-1;j+)21
3、for(k=j+1;khalf-1;k+)22if(strijstrik)23temp=strij;24strij=strik;25strik=temp;262728精选优质文档-倾情为你奉上专心-专注-专业【要求】1.打开 T 盘中 myf1.c 文件或将上述程序录入到 myf1.c 文件中,根据题目要求及程序中语句之间的逻辑关系对程序中的错误进行修改。2.改错时,可以修改语句中的一部分内容,调整语句次序,增加少量的变量说明或编译预处理命令,但不能增加其他语句,也不能删去整条语句。3.将改正后的源程序(文件名myf1.c)保存在T 盘中供阅卷使用,否则不予评分。二、编程题(24 分)【程序功
4、能】对于所给的一个自然数 n,查找并输出所有满足以下条件的等差数列:(1)公差为 1;(2)数列中各项数值之和等于 n。【编程要求】1.编写函数 int found(int a30,int n)。函数的功能:查找满足上述条件的所有等差数列并依次将其保存到 a 指向的数组中(一行保存一个数列),函数返回找到的数列个数。2.编写函数 main()。函数的功能:声明一个二维整型数组用于保存查找结果,输入一个整数并保存到变量 n 中(n600)。用 n 和整型数组作实参调用 found 函数,将找到的所有等差数列输出到屏幕及数据文件 myf2.out 中。最后将考生本人的准考证号输出到文件myf2.o
5、ut 中。【测试数据与运行结果】输入:n=500屏幕输出:8 9 10 11 12 13 14 15 16 17 18 19 20 2l 22 23 24 25 26 27 28 29 3031 3259 60 6l 62 63 64 65 6698 99 100 101 102500【要求】1.源程序文件名为 myf2.c,输出结果文件名为 myf2.out。2.数据文件的打开、使用、关闭均用 C 语言标准库中的文件操作函数实现。3.源程序文件和运行结果文件均需保存在 T 盘中供阅卷使用。4.不要复制扩展名为 obj 和 exe 的文件到 T 盘中。参考答案一、改错题第 7 行char s2
6、N=abcdefgh,;改为abcdefgh,第 11 行 puts(s);改为 puts(si)第 18 行 len=strlen(stri0);改为 stri第 21 行 for(k=j+1;khalf-1;k+)改为 khalf精选优质文档-倾情为你奉上专心-专注-专业二、编程题#include#includeint found(int a30,int n)int i,k=0,s=0,j,count,l=0;for(i=1;i=n;i+)for(s=0,j=i;sn;j+)s=s+j;if(s=n)count=0;for(k=i;kj;k+)a1count+=k;l+;return l;
7、void main()int i,j,n,m,a1030=0;FILE *fp;fp=fopen(myf2.out,w);printf(input n:);scanf(%d,&n);m=found(a,n);for(i=0;im;i+)for(j=0;aij;j+)printf(%d,aij);fprintf(fp,%d,aij);printf(n);fprintf(fp,n);fprintf(fp,My exam number is:); fclose(fp);getch();2011 春江苏省二级 C 上机考试真题第 2 套江苏省高等学校非计算机专业学生计算机基础知识和应用能力等级考试上机
8、试卷(2011 年春)二级 C 语言(试卷代号 C02)(本试卷完成时间 70 分钟)一、改错题(16 分)【程序功能】统计一个字符串中包含的字母串个数并找出其中最长的字母串。精选优质文档-倾情为你奉上专心-专注-专业所谓字母串是指一个连续的字母序列(不区分大小写),字母串之间用非字母字符分隔。 函数 count 的功能是统计p指向的字符串中包含的字母串个数,找出的最长字母串存放在pmax指向的数组中,函数返回字母串的个数。【测试数据与运行结果】测试数据:you are teaeher234too.屏幕输出:a=you are teacher234too.number is 4max stri
9、ng is:teacher【含有错误的源程序】#include #include #include int count(char p,char pmax)int j=0,k,m=0;char temp100;while(*p)while(!isalpha(*p) & *p) p+;k=0;if(*p!=0) m+;while(isalpha(*p)tempk+=*p+;tempk=0;if(kj)j=k;pmax=temp;return m;void main()char a100=you are teacher234too.,max100;int i;i=count(a,max);if(i=
10、0)printf(a=%S:No letter strings!n,a);elseprinff(a=%snnumber is %dnmax string is:%sn,a,i,max);【要求】1.将上述程序录入到文件 myf1.c 中,根据题目要求及程序中语句之间的逻辑关系对程序中的错误进行修改。2.改错时,可以修改语句中的一部分内容,调整语句次序,增加少量的变量说明或编译预处理命令,但不能增加其他语句,也不能删去整条语句。精选优质文档-倾情为你奉上专心-专注-专业3.改正后的源程序(文件名 myf1.c)保存在 T:盘根目录中供阅卷使用,否则不予评分二、编程题(24 分)【程序功能】将一个
11、二维数组中的若干行数据按要求插入到另一个二维数组中。【编程要求】1.定义符号常量 N 代表 42.编写函数 int insert_row(int aN,int n,int bN,int m)。已知形参 a 指向的二维数组(简称a 数组)前 n 行数据已按每行数据之和升序排列,形参 b 指向的二维数组中有 m 行数据。insert_row 函数实现将b数组中m行数据插入到a数组中,完成插入操作后a数组中所有行的数据仍按每行数据之和升序排列。函数返回 a 数组中有效数据的行数。3.编写 main 函数。函数功能是声明两个二维数组 x 和 y 并用测试数据初始化,用 x 和 y数组作为实参调用 in
12、sert_row 函数将 y 数组中的两行数据插入到 x 数组中。 输出 x 数组中全部数据到屏幕及文件 myf2.out 中。最后将考生本人的准考证号字符串输出到文 myf2.out 中。【测试数据与运行结果】测试数据:x 数组原数据:22349101112y 数组数据:13575101520屏幕输出:2234135791011125101520【答案】改错 1:将第 13 行temp0=0修改为temp0=0改错 2:将第14 行if(kj)改错 3:将第 16 行pmax=temp,修改为 strcpy(pmax,temp);改错 4:将第 24 行 i=count(a,max)修改为
13、i=count(a,max);2011 春江苏省计算机二级 C 上机真题 1二级 C 语言上机试卷(本试卷完成时间为 70 分钟)一、改错题(16 分)【程序功能】对存储在 string 数组内的英文句子中所有以 a 开始并以 e 结尾的单词做加密处理。 加密规则:若单词长度为偶数个字符,则将组成该单词的所有字母循环左精选优质文档-倾情为你奉上专心-专注-专业移一次;否则循环右移一次。例如,单词 able 经循环左移一次后变为 blea;单词abide 经循环右移一次后变为 eabid。【测试数据与运行结果】测试数据:she is able to abide her.屏幕输出:she is b
14、lea to eabid her.【含有错误的源程序】#include #include void wordchange(char str)int i,j,k,m;char c;for(i=0;stri;i+)for(j=i,k=i;isalpha(strk);k+);if(strj=a | strk-1=e)if(k-j)%2=0)c=strj;for(m=k-1;mj;m-)strm=strm+1;strk-1=c;elsec=strk-1;for(m=k-1;mj;m-)strm=stym-1;strj=c;i=k;。void main() char string80=she is ab
15、le to abide her.;wordchange(string80);puts(string);【要求】1.将上述程序录入到文件 myf1.c 中,根据题目要求及程序中语句之间的逻辑关系对程序中的错误进行修改。2.改错时,可以修改语句中的一部分内容,调整语句次序,增加少量的变量说明或编译预处理命令,但不能增加其他语句,也不能删去整条语句。3.改正后的源程序(文件名myf1.c)保存在T 盘根目录中供阅卷使用,否则不予评分。二、编程题(24 分)精选优质文档-倾情为你奉上专心-专注-专业【程序功能】矩阵数据生成及排序。【编程要求】1.编写函数 void cresort(int a3,int
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2010 2012 江苏省 计算机 二级 上级 考试 试题 答案 上机 14
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内