"江苏2级试卷相关试题,2011年春季江苏省计算机二级考试C语言上机部分,包括改错题和编程题" 在此次江苏省计算机二级考试中,C语言上机部分主要考察了两个方面的知识:一是程序错误检测与修复能力,二是矩阵数据的生成与排序算法实现。 首先,我们来看改错题。该题目的程序功能是加密以"a"开头且以"e"结尾的英文单词,通过循环移位实现加密。程序中存在一些错误,需要考生找出并修正。错误代码中,`if(str[j]=='a'||&&str[k-1]=='e')`这一行有误,`||&&`是不合法的逻辑操作符,应改为`if(str[j]=='a'&&str[k-1]=='e')`。另外,判断单词长度是否为偶数的条件语句`(k-j)%2=0`应该使用等号右边的双等号`==`而非单等号`=`,即`if((k-j)%2==0)`。在主函数中,调用`wordchange`函数时,`wordchange(string[80])`是错误的,应该去掉数组下标,写成`wordchange(string)`。最后,注意题目要求不能添加或删除语句,只能修改已有语句。 改正后的程序如下: ```c #include<stdio.h> #include<ctype.h> void wordchange(char str[]) { int i, j, k, m; char c; for (i = 0; str[i]; i++) { for (j = i, k = i; isalpha(str[k]); k++); if (str[j] == 'a' && str[k - 1] == 'e') { if ((k - j) % 2 == 0) { c = str[j]; for (m = k - 1; m > j; m--) str[m] = str[m + 1]; str[k - 1] = c; } else { c = str[k - 1]; for (m = k - 1; m > j; m--) str[m] = str[m - 1]; str[j] = c; } } i = k; } } void main() { char string[80] = "sheisabletoabideher."; wordchange(string); puts(string); } ``` 接下来是编程题,要求编写一个函数`void cresort(int a[][3], int n)`,该函数需要完成两个任务:根据二维数组a的第一列和第二列生成第三列的值,并按照特定规则重新排列数组的行。具体的生成规则和排列规则未在摘要中给出,考生需要根据题目补充的信息来完成这部分编程。 这次考试涉及的C语言知识点包括: 1. 字符串处理 2. 循环结构 3. 条件判断 4. 逻辑运算符的正确使用 5. 数组操作 6. 函数的定义与调用 7. 程序错误检测与修复 考生需要具备扎实的C语言基础,对程序逻辑有清晰的理解,同时能够熟练地根据题目要求进行代码编写和修改。
- 粉丝: 0
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 李兴华Java基础教程:从入门到精通
- U盘与硬盘启动安装教程:从菜鸟到专家
- C++面试宝典:动态内存管理与继承解析
- C++ STL源码深度解析:专家级剖析与关键技术
- C/C++调用DOS命令实战指南
- 神经网络补偿的多传感器航迹融合技术
- GIS中的大地坐标系与椭球体解析
- 海思Hi3515 H.264编解码处理器用户手册
- Oracle基础练习题与解答
- 谷歌地球3D建筑筛选新流程详解
- CFO与CIO携手:数据管理与企业增值的战略
- Eclipse IDE基础教程:从入门到精通
- Shell脚本专家宝典:全面学习与资源指南
- Tomcat安装指南:附带JDK配置步骤
- NA3003A电子水准仪数据格式解析与转换研究
- 自动化专业英语词汇精华:必备术语集锦