ImageVerifierCode 换一换
格式:DOC , 页数:22 ,大小:165.50KB ,
资源ID:9854079      下载积分:10 金币
验证码下载
登录下载
邮箱/手机:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/9854079.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请。


权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4009-655-100;投诉/维权电话:18658249818。

注意事项

本文(江苏等级考试二级C语言上机真题汇编.doc)为本站上传会员【xrp****65】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

江苏等级考试二级C语言上机真题汇编.doc

1、江苏省高等高等学校非计算机专业学生计算机基础知识和应用能力等级考试上机试卷二级 C语言 (本试卷完成时间 70分钟)一、改错题(16分)【程序功能】 输入两个正确日期且年份在1900-9999范围内,计算并输出两个日期之间间隔的天数。例如:2008-8-1和2009-8-1之间间隔的天数为365。 提示:被4整除并且不能被100整除的年份是闰年,能被400整除的年份也是闰年,其他年份则是平年。【测试数据与运行结果】 显示:first date: 输入:1980-2-1显示:second date: 输入:2009-8-1输出:10774 days【含有错误的源程序】#include#defin

2、e leap(int y) (y)%4=0&(y)%100!=0|(y)%400=0)struct d int y,m,d; ;int days(struct d d1, struct d d2) int mon213=0,31,28,31,30,31,30,31,31,30,31,30,31,0,31,29,31,30,31,30,31,31,30,31,30,31;int i; long td=0;for(i=d1.y;id2.y;i+) td=leap(i)?366:365;for(i=1;id1.m;i+) td- =monleap(d1.y)i;td-=d1.d-1;for(i=1;

3、id2.m;i+) td+=monleap(d2.y)i;td+=d2.d-1; return td;void main() struct d1,d2; puts(“n first date:”); scanf(“%d-%d-%d”,&d1.y,&d1.m,&d1.d); puts(“n second date:”); scanf(“%d-%d-%d”,&d2.y,&d2.m,&d2.d);printf(“%d days”,days(d1.y,d2.y); getch();【要求】1 将上述程序录入到文件myf1.c中,根据题目要求及程序中语句之间的逻辑关系对程序中的错误进行修改。2 改错时,

4、可以修改语句中的一部分内容,调整语句次序,增加少量的变量说明或编译预处理命令,但不能增加其他语句 ,也不能删去整条语句。3 改正后的源程序(文件名为myf1.c)保存在T:盘根目录中功阅卷使用,否则不予评分。/*二 编程题(24分)【程序功能】 输入两个自然数P和Q(PQ),找出满足下列条件的整数组(K,M,N)。(1) PKMQ(2) K*K+M*M=N*N【编程要求】1.编写函数int chlm(int p,int q,int a 3)实现以下功能:查找K,M在p,q范围内取值且满足以上条件的所有整数组(K,M,N)。若找到则将这些整数组保存到a指向的数组中,函数返回找到的整数组的组数。若

5、找不到则函数返回0。2.编写函数main实现以下功能:声明二维数组a和变量p、q,输入两个自然数并保存到p和q中(pq),调用chlm函数在p,q范围内查找满足以上条件的整数组。若找不到则在屏幕上输出“out found”,否则将查找结果保存到a数组中,输出a数组数据到屏幕及文件myf2.out中。最后将考生本人的准考证号输出到文件myf2.out中。【测试数据与运行结果】输入: p=12 q=38输出12 16 2012 35 37 15 20 2515 36 39 16 30 3418 24 3020 21 2921 28 3524 32 4024 36 45*/2 江苏省高等高等学校非计

6、算机专业学生计算机基础知识和应用能力等级考试上机试卷二级 C语言 (本试卷完成时间 70分钟)/*一 改错题(16分)【程序功能】函数dtoh实现将参数num的值表示为一个十六进制形式的字符串,并将该字符串存储在一个动态申请的存储区内,函数返回动态存储区的起始地址。【测试数据及运行结果】输入:1234输出:4d2含有错误的源程序*/#include#includechar dtoh(unsigned num) char digits=”0123456789abcdef”; char *s; int n=0; unsigned un=num; while(un) n+; un/=16; s=(c

7、har*)malloc(n+1)*sizeof(char); if(s=null) printf (“Memory request failed!n”);exit(1); sn-=”0”;while(num) sn-=digitsnum/16; /*取一位十六进制数字字符*/ num/=16;return s;void main() char *p; unsigned n; scanf(“%u”,&n); p=dtoh(n); printf(“%s”,p);free(p); getch();【要求】1. 将上述程序录入到文件myf1.c中,根据题目要求及程序中语句之间的逻辑关系对程序中的错误进

8、行修改。2. 改错时,可以修改语句中的一部内容,调整语句次序,增加少量的变量说明或编译预处理命令,但不能增加其他语句,也不能删去整条语句。3. 改正后的源程序(文件名myf1.c)保存在T:盘根目录共阅卷使用,否则不予评分。二、编程题(24分)【程序功能】在给定的范围内查找并输出所有满足以下条件的整数对(a,b)及与(a,b)关联的反序数对(c,d):(1)a小于b:(2)a和b的十进制表示均是三位数且各位上的数字互不相同;(3)a的反序数(记作c)和b的反序数(记作d)也都是三位数并且ab等于cd。例如,与整数对(302,406)关联的反序数对是(203,604),302406=203604

9、因此(302,406)是满足上述条件的整数对。【编程要求】1. 编写函数int find(int x4,int m,int n)实现以下功能:若m和n的十进制表示不是三位数则函数返回0。否则,将取值在m,n范围内所有满足上述条件的整数对以及与这些整数对关联的反序数对保存到x指向的二维数组中,函数返回x数组中保存的数据行数。2. 编写函数main实现以下功能:声明一个100行4列的二维数组a,用a数组作实参调用find函数在300,450范围内查找,将找到的满足上述条件的整数对及关联的反序数对保存到a数组。按以下格式将a数组中数据输出到屏幕及文件myf2.out中。最后将考生本人准考证输出到文

10、件myf2.out中。【测试数据与运行结果】输出: 301*309=103*903 302*406=203*604 304*403=403*304 306*402=603*204 312*426=213*624 314*413=413*314 321*369=123*963 324*423=423*324 402*408=204*804 412*428=214*824【要求】1. 源程序文件为myf2.c,输出结果文件名myf2.out。2. 数据文件的打开、使用、关闭均使用C语言标准库中缓冲文件系统操作函数实现。3. 源程序文件和运行结果均需要保存T:盘根目录中供阅卷使用。4. 不要复制扩展

11、名为obj和exe的文件到T:盘中。4 江苏省高等高等学校非计算机专业学生计算机基础知识和应用能力等级考试上机试卷二级 C语言 (本试卷完成时间 70分钟)一、改错题(16分)【程序功能】对一个二维数组中的数据排序。排序规则如下:将整个数组中值最小的元素所在行调整为数组第1行(行下标为0),将除第1行外剩余行中值最小的元素所在行调整为数组第2行,将除第1、2行外剩余行中值最小的元素所在行调整为数组第3行,其他依此类推。【测试数据与运行结果】数组初始化数据: 输出:3 4 5 6 8 2 1 08 2 1 0 1 2 3 4 5 4 3 2 5 4 3 21 2 3 4 3 4 5 6【含有错误

12、的源程序】#include “stdio.h”int getmin(int a,int n) int i,min=a0; for(i=1;imin) min=ai; return min;void lineswap(int a,int b,int *n) int i, t; for(i=0;in;i+) t=ai; ai=bi; bi=t; void main() int a4=3,4,5,6,8,2,1,0,5,4,3,2,1,2,3,4,i,j; for(i=0;i3;i+) for(j=1;j4;j+) if(getmin(aj,4)getmin(ai,4) lineswap(aj,in

13、t ai,4); for(i=0;i4;i+) for(j=0;j4;j+)printf(“%d “,aij); printf”n”);getch();【要求】1. 将上述程序录入到文件myf1.c中,根据题目要求及程序中语句之间的逻辑关系对程序中的错误进行修改。2. 改错时,可以修改语句中的一部分内容,调整语句次序,增加少量的变量说明或编译预处理命令,但不能增加其他语句 ,也不能删去整条语句。3. 改正后的源程序(文件名为myf1.c)保存在T:盘根目录中功阅卷使用,否则不予评分。二、编程题(24分)【程序功能】计算由两个整数生成的两个合法代码的码距。这里的合法代码定义为由16个二进制数字字

14、符组成的字符串。例如“0000000000100101”是一个合法代码。码距是指两个合法代码中对应位数字字符不同的位数。例如,合法代码”0000000000100101”和”0000000000001110”自又向左1、2、4、6位上具有不同数字字符,因此这两个合法代码的码距为4。【编程要求】1. 编写函数int hamming(int x,int y,chara ,char b )实现以下功能:先将形参x和y分别转换为2个合法代码并按从低位到高位的顺序分别保存2个合法代码到a和b指向的数组中(不足16位时高位补字符0)再计算a数组和b数组中的两个合法代码的码距,函数返回该码距。2. 编写函数

15、main 实现以下功能:声明字符数组a 、b和变量m、n,输入两个整数并保存到m和n中,若m、n的值在032767范围内则用m、n和数组a、b作实参调用hamming函数,计算由m和n生成的两个合法代码的码距,将a、b数组中存储的合法代码及这两个代码的码距输出到屏幕及文件myf2.out中。最后将考生本人的准考证输出到文件myf2.out中。.【测试数据与运行结果】输入:m=16 n=38输出: a:0000000000010000 b:0000000000001000 distance of 16 and 8 is 2【要求】1. 源程序文件为myf2.c,输出结果文件名myf2.out。2

16、 数据文件的打开、使用、关闭均使用C语言标准库中缓冲文件系统操作函数实现。3. 源程序文件和运行结果均需要保存T:盘根目录中供阅卷使用。4. 不要复制扩展名为obj和exe的文件到T:盘中。6 江苏省高等高等学校非计算机专业学生计算机基础知识和应用能力等级考试上机试卷二级 C语言 (本试卷完成时间 70分钟)一、改错题(16分)【程序功能】将一个实数转换为二进制科学计数法表示并输出。二进制科学记数法是指将一个绝对值大于2或者小于1的实数记为a2n形式,其中尾数a是用二进制表示的实数且1|a|2, 指数中的n是用二进制表示的整数。例 如:0.125的科学计算法表示是1.02-11若用B代表基数

17、2,则a2n可表示为aBn 的形式。例如,1.02-11表示1.0B-11。【测试数据与运行结果】第一次运行时输入:0 输出:0.0B0第二次运行时输入:0.125 输出:1.0B-11第三次运行时输入:315 输出:1.00111011B+1000【含有错误的源程序】#include void outBinary(int x) if(x/2) outBinary(x/2); printf(“%d”,x%2);void outFloatBinary(float x) int e=0; if(x=0) puts(0.0B0);return; if(x=2.0) e+;x/=2; while(x0

18、) printf(“B+”); outBinary(e); else printf(“B-”); outBinary(-e); printf(“n”);void main() float a;scanf(“%f”,&a); outFloatBinary(a);getch();【要求】1. 将上述程序录入到文件myf1.c中,根据题目要求及程序中语句之间的逻辑关系对程序中的错误进行修改。2. 改错时,可以修改语句中的一部分内容,调整语句次序,增加少量的变量说明或编译预处理命令,但不能增加其他语句 ,也不能删去整条语句。3. 改正后的源程序(文件名为myf1.c)保存在T:盘根目录中功阅卷使用,否

19、则不予评分。二、编程题(24分)【程序功能】求3000以内的亲密数对.如果A的全部真因子(包括1,不包括A自身)之和等于B;B的全部真因子之和等于A,则称整数A和B为一对亲密数。【编程要求】1. 编写函数int frinum(long s2,long n)实现如下功能:找到2n分范围内的所有亲密数对,将这些亲密数对保存到s指向的二维数组中。返回函数s数组中存储的亲密数对的对数。2. 编写函数main 实现以下功能:声明二维数组s和变量n,输入一个正整数并保存到n中,用二维数组s和变量n作为实参调用frinum函数,将n以内的所有的亲密数对输出到屏幕及文件myf2.out中。最后将考生本人的准考

20、证输出到文件myf2.out.【测试数据与运行结果】输入: n=3000输出: (220,284) (1184,1210) (2620,2924)【要求】1. 源程序文件为myf2.e,输出结果文件名myf2.out。2. 数据文件的打开、使用、关闭均使用C语言标准库中缓冲文件系统的文件操作函数实现。3. 源程序文件和运行结果均需要保存T:盘根目录中供阅卷使用。4. 不要复制扩展名为obj和exe的文件到T:盘中。8 江苏省高等高等学校非计算机专业学生计算机基础知识和应用能力等级考试上机试卷二级 C语言 (本试卷完成时间 70分钟)一、改错题(16分)【程序功能】函数replace的功能是用s

21、2指向的字符串替换s1指向的字符串中第n个字符(下标为n-1)之后到第m个字符(下标为m-1)之前的m-n-1个字符组成的字串(mn+1)。例如,若s1指向的字符串为“abcd”、s2指向的字符串为“xyz”、n=1、m=3,则执行替换操作后s1指向的字符串为“axyzcd”。【测试数据与运行结果】显示: s1=qwertyuiop s2=zxc input n,m;输入: 1 9输出: qzxcop【含有错误的源程序】#include #includevoid replace(char s1,int n,int m,char s2) char s80 int i,j,len1,len2,le

22、n;len1=strlen(s1); len2=strlen(s2);if(mn+1&nlen1&m=len1) for(i=0;in;i+) si=s1i; for(j=0;jlen2;j+,i+) si=s2j; si=0; len=strlen(s);for(i=0;s1m-1+i!=0;i+) slen+i= s1m-1+i;slen+i=0;for(i=0;si!=0;i+) si=s1i; s1i=0;void main() char s180=” qwertyuiop”,s220=”zxc”; int n,m; puts(“s1=%s s2=%sn”,s1,s2); puts(“

23、input n,m:”); scanf(“%d%d”,n,m); replace(s1,n,m,s2); puts(s1); getch();【要求】1. 将上述程序录入到文件myf1.c中,根据题目要求及程序中语句之间的逻辑关系对程序中的错误进行修改。2. 改错时,可以修改语句中的一部分内容,调整语句次序,增加少量的变量说明或编译预处理命令,但不能增加其他语句 ,也不能删去整条语句。3. 改正后的源程序(文件名为myf1.c)保存在T:盘根目录中功阅卷使用,否则不予评分。二、编程题(24分)【程序功能】用乌勒姆公式an=n2-n+41(n=1,2,m)生成一个数列的前m项并找出其中的回文数。

24、编程要求】1. 编写函数int numseq(long a,long b,int m)实现以下功能:用乌勒姆公式生成一个数列的前m项并保存到a指向的数组中,从a数组中找出所有回文数保存到b指向的数组中,函数返回b数组中回文数个数。2. 编写函数main 实现以下功能:声明一维数组a,b和变量m; 输入数列的项数并保存到m,用数组a、b和变量m作为实参调用numseq函数,将生成的数列前m项以及其中的回文数分别保存到a和b数组中;按每行10个数据的格式将a、b数组中的数据输出到屏幕及文件myf2.out中。最后将考生本人的准考证输出到文件myf2.out。【测试数据与运行结果】输入: m=20

25、输出: a:41 43 47 53 61 71 83 97 113 131 151 173 197 223 251 281 313 347 383 421 b:131 151 313 383【要求】1. 源程序文件为myf2.c,输出结果文件名myf2.out。2. 数据文件的打开、使用、关闭均使用C语言标准库中缓冲文件系统的文件操作函数实现。3. 源程序文件和运行结果均需要保存T:盘根目录中供阅卷使用。4. 不要复制扩展名为obj和exe的文件到T:盘中。10 江苏省高等高等学校非计算机专业学生计算机基础知识和应用能力等级考试上机试卷二级 C语言 (本试卷完成时间 70分钟)一、改错题(16

26、分)【程序功能】已知指针数组name保存了n个字符串的首地址。以下程序通过调整指针数组元素的值实现按字典序对n个字符串排序; 输出排序后指针数组各元素指向的字符串;删除指针数组中以元音字母开头的所有字符串首地址;输出指针数组各元素指向的字符串。【测试数据与运行结果】数组初始化数据: “Mary”,”George”,”Andy”,”Tom”,”Iris”输出: Andy George Iris Mary Tom George Mary Tom【含有错误的源程序】#include #include#includevoid sort(char*name,int n) char *ptr; int i

27、j,k;for(i=0;in-1;i+) k=i; for(j=i+1;j0) k=j; if(k=i) ptr=namei,namei=namek,namek=ptr; int delstr(char *name,int n) int i,j,k; char c,s5=A,E,O,I,U,*P; for(i=0;in;i+) p=namei; c=p;c=toupper(c); /*toupper(c):若c是小写则返回对应大写字母,否则返回c原值*/ for(k=0;k=5) for(j=i;jn-1;j+)namej=namej+1; n-;i-;return n;void print

28、char*name,int n) int i;for(i=0;in;i+)printf(“%s “,namei);printf(“n”);void main() int n=5; char *namen=“Mary”,”George”,”Andy”,”Tom”,”Iris”; sort(name,n); print (name,n); n=delstr(name,n); print(name,n); getch();【要求】1. 将上述程序录入到文件myf1.c中,根据题目要求及程序中语句之间的逻辑关系对程序中的错误进行修改。2. 改错时,可以修改语句中的一部分内容,调整语句次序,增加少量的

29、变量说明或编译预处理命令,但不能增加其他语句 ,也不能删去整条语句。3. 改正后的源程序(文件名为myf1.c)保存在T:盘根目录中功阅卷使用,否则不予评分。二、编程题(24分)【程序功能】输入两个正整数x和y(2x100,2y1000,找出所有满足下列条件的整数对(p,q):(1):p、q均为正整数;(2):p、q的最大公约数等于x且最小公倍数等于y。提示:p、q的最小公倍数等于(pq)/(p、q的最大公约数)。【编程要求】1. 编写函数int nucoup(int x,int y,int a2)实现如下功能:查找所有最大公约数是x并且2. 最小公倍数是y的整数对,若找到则保存这些整数对到a

30、指向的的数组中,函数返回找到的整数对的个数;若找不到则函数返回0。3. 编写函数main 实现以下功能:声明二维数组a变量x、y,输入两个整数并保存到x和y中,用x,y和a数组作为实参调用numcoup函数,若找不到满足以上条件的整数对则输出“not found”到屏幕,否则输出a数组中数据到屏幕及文件myf2.out中。最后将考生本人的准考证号输出到文件myf2.out。【测试数据与运行结果】输入: x=4 y=684输出: 4 68436 76 76 36684 4【要求】1. 源程序文件为myf2.e,输出结果文件名myf2.out。2. 数据文件的打开、使用、关闭均使用C语言标准库中缓

31、冲文件系统操作函数实现。3. 源程序文件和运行结果均需要保存T:盘根目录中供阅卷使用。4. 不要复制扩展名为obj和exe的文件到T:盘中。- 12 - 江苏省高等高等学校非计算机专业学生计算机基础知识和应用能力等级考试上机试卷二级 C语言 (本试卷完成时间 70分钟)一、改错题(16分)【程序功能】输入一个正确日期且年份在1900-9999范围内,计算并输出该日期是星期几。例如,若输入2008-8-8,应输出Fri(星期五)。提示:1900年1月1日是Mon(星期一)。能被4整除并且不能被100整除的年份是闰年,能被400整除的年份也是闰年,其他年份则是平年。【测试数据与运行结果】第一次运行

32、显示:input a date: 输入:1900-1-1 输出:Mon 第二次运行显示:input a date: 输入:2008-8-8输出:Fri 【含有错误的源程序】#include #define leap(y) (y)%4=0&(y)%400=0)|(y)%400=0)int week(int y,int m,int d) static int mon212=31,28,31,30,31,30,31,31,30,31,30,31,31,29,31,30,31,30,31,31,30,31,30,31; int yeard2=365,366,i; long td=0; for(i=19

33、00;iy;i+)td+=yeardleap(i); for(i=0;im;i+)td+=monleap(y)i; td+=d-1; return td%7.0;void main() int i,y,m,d; char wn7=Mon”,”Tue”,”Wed”,”Thu”,”Fri”,”Sat”,”Sun”; puts(“n input a date:”); scanf(“%d-%d-%d”,&y,&m,&d);puts(wn(week(y,m,d); getch();【要求】1. 将上述程序录入到文件myf1.c中,根据题目要求及程序中语句之间的逻辑关系对程序中的错误进行修改。2. 改错时

34、可以修改语句中的一部分内容,调整语句次序,增加少量的变量说明或编辑预处理命令,但不能增加其他语句 ,也不能删去整条语句。3. 改正后的源程序(文件名为myf1.c)保存在T:盘根目录中供阅卷使用,否则不予评分。二、编程题(24分)【程序功能】实现包含一个变元x的多项式合并同类项操作。用结构数组存储一个多项式(一个数组元素存储多项式的一项)。结构数组元素的数据类型定义如下:typedef struct double coe; /* 系数 */ int exp; /* 变元x的指数*/TERM;例如:将多项式-3x2+5x+0.5x2+x-1-2x按如下形式存储到一个结构数组中。 coe-350

35、51-1-2exp212101【编程要求】1. 编写函数int term(TERM a,TERM b,int n)实现以下功能:对a指向的数组中保存2. 的多项式实施合并同类项操作,n为a数组中多项式的项数。将合并同类项后得到的多项式保存到b指向的数组中。函数返回b数组中的多项式的项数。3. 算法提示:可以先对a数组按exp值排序后再做合并同类项操作。4. 编写函数main 实现以下功能:声明TERM型数组x和y,x数组用于保存合并同类项前多项式各项的系数和指数,y数组用于保存合并同类项后多项式各项的系数和指数。用x,y数组作为实参调用term函数。按所给输出格式将y数组中的数据输出到屏幕及

36、文件myf2.out中。最后将考生本人的准考证输出到文件myf2.out。【测试数据与运行结果】测试多项式:-3x2+5x+0.5x2+x-1-2x输出:-2.5x2+4.0x1-1.0【要求】1. 源程序文件为myf2.c,输出结果文件名myf2.out。2. 数据文件的打开、使用、关闭均使用C语言标准库中缓冲文件系统操作函数实现。3. 源程序文件和运行结果均需要保存T:盘根目录中供阅卷使用。4. 不要复制扩展名为obj和exe的文件到T:盘中。 2010年秋江苏二级C上机真题 江苏省高等学校非计算机专业学生 计算机基础知识和应用能力等级考试上机试卷(2010年秋) 二级C语言 (试卷代号C

37、01) (本试卷完成时间70分钟) 一、改错题(16分) 【程序功能】 查找介于n1与n2(On1n232768)之间所有满足下列条件的整数:(1)该数的十进 制表示中有且仅有两个相同的数字位;(2)该数是素数。 【测试数据与运行结果】 测试数据:n1=900 n2=1200 屏幕输出: 911 919 929 977 991 997 1009 1013 1019 1021 1031 1033 1051 1061 1091 1103 1109 1123 1129 1153 1163 1187 1193 【含有错误的源程序】 #inelude #include int validate(int

38、n) int i,j,k=0,num5=0,size=0; do numsize=n%10; n=n/10; size+; while(n0); for(i=0;isize-1;i+) for(j=i+1;j1) return 1; else return 0; int prime(int) int i; for(i=2;i=(int)sqrt(n);i+) if(n%i=0)retum 0; return 1; void main() int i,count=0,n1,n2; scanf(%d%d,&n1,&n2); for(i=n1;i=n2;i+) if(validate(int i)&prime(int i) count+; printf(%dt,i); if(count%8=0)printf(n); 【要求】 1. 将上述程序录入到文件myf1.C中,根据题目要求及程序中语句之间的逻辑关系对程序 中的错误进行修改。 2. 改错时,可以修改语句中的一部分内

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服