【计算机类职业资格】2012春江苏省二级C语言上机试卷1及答案解析.doc

上传人:eveningprove235 文档编号:1317962 上传时间:2019-10-17 格式:DOC 页数:2 大小:28.50KB
下载 相关 举报
【计算机类职业资格】2012春江苏省二级C语言上机试卷1及答案解析.doc_第1页
第1页 / 共2页
【计算机类职业资格】2012春江苏省二级C语言上机试卷1及答案解析.doc_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

1、2012 春江苏省二级 C 语言上机试卷 1 及答案解析(总分:40.00,做题时间:70 分钟)一、改错题(16 分)(总题数:1,分数:16.00)1. 【程序功能】 以下程序中函数 void csort(char strN,int n)对 str 指向的二维数组前 n 行中存储的 n 个字符串分别作如下处理:从中间将字符串一分为二,左半部分字符子串按字符的 ASCII 码值 从大到小排序(若字符串的长度为奇数,则中间字符不参加排序)。 【测试数据与运行结果】 测试字符串:“abcdefgh“,“123498765“ 屏幕输出:dcbaefgh 432198765 【含有错误的源程序】 以

2、下源程序已保存在 T盘 myf1.c 文件内,考生可直接打开该文件的调试程序。 1 #include 2 #include 3 #include 4 #define N 80 5 void csort(char strN,int n); 6 void main() 7 char s2N=“abcdefgh“,“123498765“; 8 int i; 9 csort(s,2); 10 for(i=0;i_二、编程题(24 分)(总题数:1,分数:24.00)2. 【程序功能】 对于所给的一个自然数 n,查找并输出所有满足以下条件的等差数列:(1)公差为 1; (2)数列中各项数值之和等于 n。

3、 【编程要求】 1.编写函数 int found(int a30,int n)。函数的功能:查找满足上述条件的所有等差 数列并依次将其保存到 a 指向的数组中(一行保存一个数列),函数返回找到的数列个数。 2.编写函数 main()。函数的功能:声明一个二维整型数组用于保存查找结果,输入一个整 数并保存到变量 n 中(n600)。用 n 和整型数组作实参调用 found 函数,将找到的所有等差数 列输出到屏幕及数据文件 myf2.out 中。最后将考生本人的准考证号输出到文件 myf2.out 中。 【测试数据与运行结果】 输入:n=500 屏幕输出: 8 9 10 11 12 13 14 1

4、5 16 17 18 19 20 2l 22 23 24 25 26 27 28 29 30 31 32 59 60 6l 62 63 64 65 66 98 99 100 101 102 500 【要求】 1.源程序文件名为 myf2.c,输出结果文件名为 myf2.out。 2.数据文件的打开、使用、关闭均用 C 语言标准库中的文件操作函数实现。 3.源程序文件和运行结果文件均需保存在 T 盘中供阅卷使用。 4.不要复制扩展名为 obj 和 exe 的文件到 T盘中。 (分数:24.00)_2012 春江苏省二级 C 语言上机试卷 1 答案解析(总分:40.00,做题时间:70 分钟)一、

5、改错题(16 分)(总题数:1,分数:16.00)1. 【程序功能】 以下程序中函数 void csort(char strN,int n)对 str 指向的二维数组前 n 行中存储的 n 个字符串分别作如下处理:从中间将字符串一分为二,左半部分字符子串按字符的 ASCII 码值 从大到小排序(若字符串的长度为奇数,则中间字符不参加排序)。 【测试数据与运行结果】 测试字符串:“abcdefgh“,“123498765“ 屏幕输出:dcbaefgh 432198765 【含有错误的源程序】 以下源程序已保存在 T盘 myf1.c 文件内,考生可直接打开该文件的调试程序。 1 #include

6、2 #include 3 #include 4 #define N 80 5 void csort(char strN,int n); 6 void main() 7 char s2N=“abcdefgh“,“123498765“; 8 int i; 9 csort(s,2); 10 for(i=0;i_正确答案:(第 7 行 char s2N=“abcdefgh“,“123498765“; 改为“abcdefgh“,“123498765“ 第 11 行 puts(s); 改为 puts(si) 第 18 行 len=strlen(stri0); 改为 stri 第 21 行 for(k=j+

7、1;k解析:二、编程题(24 分)(总题数:1,分数:24.00)2. 【程序功能】 对于所给的一个自然数 n,查找并输出所有满足以下条件的等差数列:(1)公差为 1; (2)数列中各项数值之和等于 n。 【编程要求】 1.编写函数 int found(int a30,int n)。函数的功能:查找满足上述条件的所有等差 数列并依次将其保存到 a 指向的数组中(一行保存一个数列),函数返回找到的数列个数。 2.编写函数 main()。函数的功能:声明一个二维整型数组用于保存查找结果,输入一个整 数并保存到变量 n 中(n600)。用 n 和整型数组作实参调用 found 函数,将找到的所有等差

8、数 列输出到屏幕及数据文件 myf2.out 中。最后将考生本人的准考证号输出到文件 myf2.out 中。 【测试数据与运行结果】 输入:n=500 屏幕输出: 8 9 10 11 12 13 14 15 16 17 18 19 20 2l 22 23 24 25 26 27 28 29 30 31 32 59 60 6l 62 63 64 65 66 98 99 100 101 102 500 【要求】 1.源程序文件名为 myf2.c,输出结果文件名为 myf2.out。 2.数据文件的打开、使用、关闭均用 C 语言标准库中的文件操作函数实现。 3.源程序文件和运行结果文件均需保存在 T 盘中供阅卷使用。 4.不要复制扩展名为 obj 和 exe 的文件到 T盘中。 (分数:24.00)_正确答案:( #include #include int 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;s解析:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1