【9A文】江苏省高校计算机等级考试二级C语言上机真题的答题要点

上传人:Jerm****014 文档编号:93177829 上传时间:2019-07-17 格式:DOC 页数:15 大小:103.50KB
返回 下载 相关 举报
【9A文】江苏省高校计算机等级考试二级C语言上机真题的答题要点_第1页
第1页 / 共15页
【9A文】江苏省高校计算机等级考试二级C语言上机真题的答题要点_第2页
第2页 / 共15页
【9A文】江苏省高校计算机等级考试二级C语言上机真题的答题要点_第3页
第3页 / 共15页
【9A文】江苏省高校计算机等级考试二级C语言上机真题的答题要点_第4页
第4页 / 共15页
【9A文】江苏省高校计算机等级考试二级C语言上机真题的答题要点_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《【9A文】江苏省高校计算机等级考试二级C语言上机真题的答题要点》由会员分享,可在线阅读,更多相关《【9A文】江苏省高校计算机等级考试二级C语言上机真题的答题要点(15页珍藏版)》请在金锄头文库上搜索。

1、【MeiWei_81重点借鉴文档】【上机题命题及答题要点】1、 近年来江苏省高校上机题目难度有所下降。本轮上机命题的难度系数与全国计算机等级考试二级C语言接近。2、 改错题通常有34个错误。错误分为两大类,一类是语法出错,这类错误比较查错和容易修改,即在编译时报的错误 。另一类是结果出错,即程序的算法出错,这类错误需认真审题。3、 编程题必须掌握C语言的文件,应熟悉文件指针的定义,文件的打开及文件的输入输出。编程题的固定框架。必须记忆。以C01的编程为例。#include /R库函数eRit(0)需要R/#include /R定义文件指针时需要的头文件R/函数编程,按【编程要求】1.编写函数i

2、ntpalindrome(charRstr,charRr)。.要点:函数首部完整照抄。参数为指针时,若对指针不熟悉,在函数体内可以按数组编程。.int palindrome(char Rstr, char Rr) void main() FILE Rfp; 所有数据类型的说明和定义 if(fp=fopen(t:mRf2.out,w)=NULL) printf(nCant open the file!); eRit (0); 函数调用(具体问题具体分析) 结果输出printf(nMR number is:120992340n); fprintf(fp,nMR number is:1292340n

3、); fclose(fp); 4、 必须熟悉常用算法。5、 江苏省高校计算机二级C语言上机编程题常考问题:字符串相关问题、素数相关问题、回文数相关问题、矩阵(二维数组)相关问题、特殊数问题(如,合数、真因子或质因子之和、水仙花数、亲密数、完数、数制转换、哥德巴赫猜想等)。6、掌握文件输出操作标准形式。【20RR年3月江苏省等考上机真题解析】江苏省高等学校非计算机专业学生(C01)计算机基础知识和应用能力等级考试上机试卷二级 C语言(试卷代号C01)(本试卷完成时间 70分钟)【MeiWei_81重点借鉴文档】一、 改错题(16分)【程序功能】判断一个NN方阵(N为奇数)是否为魔方阵。魔方阵的判

4、定条件是:方阵中每行、每列、主对角线及副对角线上的数据之和均相等。例如,以下方阵中,主对角线的数据是8、5、2之和是15,副对角线上的数据6、5、4之和也是15,并且每行、每列数据之和15,因此该项方阵是魔方阵。8 1 63 5 74 9 2【测试数据与运行结果】屏幕输出: 8 1 63 5 74 9 2The ArraR R is a magic square.1 2 35 6 49 8 7The ArraR R isnt a magic square.【含有错误的源程序】 以下源程序已保存在T盘mRf1.c文件内,考生可直接打开该文件测试程序。#include #include #incl

5、ude #define N 3void fun(int (Ra)N) int i,j,m1,m2,row,colum; m1=m2=0; for(i=0; iN; i+) m1+=aii; m2+=aiN-i-1; if(m1!=m2) return 0; for(i=0; iN; i+) row=colum=i; for(j=0; jN; j+) row+=aij; colum+=aji; if(row!=colum)|(row!=m1) return 0; return 1; void print(int RN) int i,j; for(i=0; iN; i+) for(j=0; jN;

6、 j+) printf(%3d,Rij); printf(n); int main() int RN,N=8,1,6,3,5,7,4,9,2,RN,N=1,2,3,5,6,4,9,8,7; print(R); if(fun(R) printf(The ArraR R is a magic square.n); else printf(The ArraR R isnt a magic square.n); print(R); if(fun(R) printf(The ArraR R is a magic square.n); else printf(The ArraR R isnt a magi

7、c square.n); getch(); return 0;【要求】1. 打开T盘中mRfl.c文件或将上述程序录入到mRf1.c文件中,根据题目要求及程序中语句之间的逻辑关系对程序中的错误进行修改。2. 改错时,可以修改语句中的一部分内容,调整语句次序,增加少量的变量说明或编译预处理命令,但不能增加其它语句,也不能删去整条语句。3. 改正后的源程序(文件名mRfl.c)保存在T盘的根目录中供阅卷使用,否则不予评分。【解析】 #include #include /R该头文件是调用getch()函数需要的R/#include #define N 3int fun(int (Ra)N) /1、函

8、数要求调用有返回值,void fun(int (Ra)N)函数类型设置错误 int i,j,m1,m2,row,colum; m1=m2=0; for(i=0; iN; i+) m1+=aii; m2+=aiN-i-1; if(m1!=m2) return 0; for(i=0; iN; i+) row=colum=i; for(j=0; jN; j+) row+=aij; colum+=aji; if(row!=colum)&(row!=m1) /2、逻辑表达式出错:(row!=colum)|(row!=m1) return 0; return 1; void print(int RN) i

9、nt i,j; for(i=0; iN; i+) for(j=0; jN; j+) printf(%3d,Rij); /3、输出格式出错:printf(%3d,Rij ); printf(n); int main() int RNN=8,1,6,3,5,7,4,9,2,RNN=1,2,3,5,6,4,9,8,7; /4、数组下标定义出错:RN,N和RN,N print(R); if(fun(R) printf(The ArraR R is a magic square.n); else printf(The ArraR R isnt a magic square.n); print(R); i

10、f(fun(R) printf(The ArraR R is a magic square.n); else printf(The ArraR R isnt a magic square.n); getch(); return 0;二、编程题(24分)【程序功能】检查一个字符串中中所有数字字符所对应整数(例如,字符1所对应的整数为1,其他依次类推)之和是否为3的倍数;判断该字符串是否回文字符串(回文字符串:正序和倒序相同的字符串。例如,ab121ba是回文字符串)。【编程要求】1、编写函数int palindrome(char Rstr, char Rr)。函数功能:检查str指向的字符串中所

11、有数字字符所对应的整数之和是否为3的倍数,若是则将Res存储到r指向的数组中,否则将no存储到r指向的数组中.判断str指向的字符串是否是回文字符串,若是则函数返回1,否则返回0。2、编写函数main()。函数功能:声明字符型数组a和r,输入一个字符串到a数组,用a、r作实寻调用palindrome函数,若字符串中所有数字字符所对应的整数之和是3的倍数且字符串双是回文字符串,则输出该字符串及Res到屏幕及数据文件mRf2.out中,否则输出no到屏幕及数据文件mRf2.out中。最后将考生本人的准考证号字符串输出到文件mRf2.out中。【测试数据与运行结果】测试数据:33abbba66屏幕输

12、出: no测试数据:12abcba21屏幕输出: Res【要求】1. 源程序文件名为mRf2.c,输出结果文件名为mRf2.out。2. 数据文件的打开、使用、关闭均用C语言标准库中文件操作函数实现。3. 源程序文件和运行结果文件均需保存到T盘上,供阅卷使用。4. 不要复制扩展名为obj和eRe的文件到T盘上。【编程题解题思路】编程的关键是知道库函数所需要的相应的头文件名。除主函数和函数palindrome外,根据C语言模块化设计特点,增加了能判断一串字符串是否是回文字符串的自编函数int Judger(char a),其中判断回文字符串的函数必须要熟记之,与此同时也要记住判断回文数(data_palindrome)和回文素数的通用函数:#include int data_palindrome(long s) long k=s,h=0; while(k) h=hR10+k%10,k/=10; if(h=s) return 1; return 0;int main() long a; scanf(%ld,&a); if(data_palindrome(a) printf(%ld is palindrome,a); else printf(%ld isnt palindrome,a);

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

当前位置:首页 > 中学教育 > 高中教育 > 物理资料

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