2014春二级C 省上机考题6套(已核对)

上传人:20****03 文档编号:178993389 上传时间:2021-04-06 格式:DOC 页数:12 大小:46KB
返回 下载 相关 举报
2014春二级C 省上机考题6套(已核对)_第1页
第1页 / 共12页
2014春二级C 省上机考题6套(已核对)_第2页
第2页 / 共12页
2014春二级C 省上机考题6套(已核对)_第3页
第3页 / 共12页
2014春二级C 省上机考题6套(已核对)_第4页
第4页 / 共12页
2014春二级C 省上机考题6套(已核对)_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《2014春二级C 省上机考题6套(已核对)》由会员分享,可在线阅读,更多相关《2014春二级C 省上机考题6套(已核对)(12页珍藏版)》请在金锄头文库上搜索。

1、江苏省高等学校非计算机专业学生计算机基础知识和应用能力等级考试上机试卷(2014年春)二级 C语言 (试卷代号C01)(本试卷完成时间 70分钟)一、改错题(16分)【程序功能】实数x可表示为x=m10n 形式,称其中的m为尾数,n为指数。以下程序中,tail函数将形式参数x中存储的非零正实数分解为上述表示形式(尾数m中m的值域为0.1m1),将指数存储到形式参数n指向的变量中,将尾数作为函数返回值。【测试数据与运行结果】 测试数据:x=-0. 屏幕输出:-0.e-2 (注:尾数为-0.,指数为-2)含有错误的源程序:以下源程序已保存在T盘myf1.c文件内,考生可直接打开该文件调试程序。#i

2、nclude#includedouble tail(double x,int n) int m; while(x=1) m+; x=x/10; while(x0.1) m-; x=x*10; *n=m; return x;int main() double x,m; int n, x_sign=1; do printf(please input the x: ); scanf(%lf,&x); while(0 = x ); if(x0) x_sign=-1; x=-x; m=tail(x,&n); m=x_sign*m; printf(%lfe%d,m,n); getch(); return

3、0; 【要求】1. 打开T盘中的myf1.c文件或将上述程序录入到myf1.c文件中,根据题目要求及程序中语句之间的逻辑关系对程序中的错误进行修改。2. 改错时,可以修改语句中的一部分内容,调整语句次序,增加少量的变量说明或编译预处理命令,但不能增加其他语句,也不能删除整条语句。3. 改正后的源程序(文件名myf1.c)保存在T盘中供阅卷使用,否则不予评分。二、编程题(24分)【程序功能】输入一个字符串,从中依次取出连续的数字字符作为一个字符串,并将其首字符按下列要求做变换:若是0则变为+,若是1则变为-,其他情况下不作变换;然后将取出的所有数字串输出。例如,输入字符串“we112are35*

4、045Chinese.”,输出的数字串依次为:-12、35和+45。【编程要求】1.定义符合常量N表示20。2.编写int getnum (char str,char wN)函数。函数功能:从str指向的字符串中逐个取出数字串,对每个数字串的第一个数字字符按上述要求做变换,然后存放到w指向的二维字符数组中(每行存放一个数字串),函数返回w数组中存放的数字串个数。3.编写main函数。函数功能:声明一维字符数组str和二维字符数组w,用测试数据初始化str数组,以数组str、w为实参调用getnum函数,将w数组中所有数字串输出到屏幕及文件myf2.out中。最后将考生本人的准考证号输出到文件m

5、yf2.out中。【测试数据与运行结果】测试数据:we112are35*045Chinese.屏幕输出:-12 35 +45【要求】1. 源程序文件名为myf2.c文件中,输出结果文件名为myf2.out。2. 数据文件的打开、使用、关闭均用C语言标准库中的文件操作函数实现。3. 源程序文件和运行结果文件均需保存在T盘中供阅卷使用。4. 不要复制扩展名obj和exe的文件到T盘中。说明:以下上机试卷的要求相同,略。江苏省高等学校非计算机专业学生计算机基础知识和应用能力等级考试上机试卷(2014年春)二级 C语言 (试卷代号C02)(本试卷完成时间 70分钟)一、 改错题(16分)【程序功能】

6、按C语言课程成绩由低到高对若干个学生的数据记录排序。【测试数据与运行结果】 测试数据: 0101 Jean 89 0102 David 95 0103 Ruth 68 0104 Mary 76 屏幕输出: NO Name C 0103 Ruth 68 0104 Mary 76 0101 Jean 89 0102 David 95含有错误的源程序以下源程序已保存在T盘myf1.c文件内,考生可直接打开该文件调试程序。#include #include #define N 4 struct studentchar num10; /*学号*/char name20; /*姓名*/ float sc;

7、 /*C语言课程成绩*/;void Output(struct student studs,int n);void sort(struct student studs,int n);int main()struct student studs=0101,Jean,89,0102,David,95,0103,Ruth,68,0104,Mary,76; sort(studs,N);Output(studs,N);getch();return 0;void Output(struct student studs,n) int i;printf(tNotNamett Cn);for(i=0;in;i+

8、)printf(%12s%8s,studsi.num,studsi.name);printf(%14.0fn,studsi.sc); void sort(struct student studs,int n)int i, j;struct p; for(i=1; i=0 & pbc0;(2)交换a、c位置后得到一个新的三位数,该数比原数小495;(3)对abc作全排列得到的6个三位数之和为2886。提示:从n个不同元素中任取m个元素(m=n)按照一定的顺序排列起来,被称为从n个不同元素中取出m个元素的一个排列。当m=n时的排列被称为全排列。n个互不相同的元素可产生n!个全排列。【编程要求】1.

9、编写int sear(int x)函数。函数功能:找出满足上述条件的所有整数并依次保存到x指向的数组中,函数返回满足条件的整数个数。2.编写main函数。函数功能:声明一个长度为10的一维数组,用该数组作实参调用sear函数,将数组中的结果数据输出到屏幕及文件myf2.out中。最后将考生本人的准考证号输出到文件myf2.out中。【测试数据与运行结果】 屏幕输出:742江苏省高等学校非计算机专业学生计算机基础知识和应用能力等级考试上机试卷(2014年春)二级 C语言 (试卷代号C03)(本试卷完成时间 70分钟)一、 改错题(16分)【程序功能】 函数int find(char *s,int

10、 *min)从s指向的字符串中找出所有由连续数字字符组成的整数中的最大数与最小数,将最小数保存到形参min指向的变量中,函数返回最大数。【测试数据与运行结果】 测试数据:123wer56u80as34wef890wq234r2t67 屏幕输出:max is 890,min is 2含有错误的源程序以下源程序已保存在T盘myf1.c文件内,考生可直接打开该文件调试程序。#include #include int find(char *s, int *min) char word10; int i=0,j,max,count=0,szs=0,flag=0,sz50=0,zhs=0; while(si!=0) while(si=0&si=9) flag=1; wordcount+=si+; if(flag) zhs=0; for(j=0;jcount;j+) zhs=zhs*10+(wordj-0); szszs+=zhs; flag=0; count=0; i+; max=sz0; min=sz0; for(j=1;jmax) max=szj; if (szj97-

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

当前位置:首页 > 办公文档 > 教学/培训

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