已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
江苏省2010春计算机二级C语言(C01)一 改错题【程序功能】验证3n范围内的任意两个相邻素数的平方之间至少存在4个素数。例如,5和7是两个相邻素数,52(25)与72(49)之间存在6个素数:29 31 37 41 43 47【测试程序与运算结果】 显示:input n: 输入:10输出:35 k=511 13 17 19 23 57 k=6 29 31 37 41 43 47【含有错误的源程序】#include #includeint prime(int n) int I,flag=1;for(i=1;i=sqrt(n);i+)If(n%i=0)flag=0;return flag;int fun(int a,int n) int I,k=0;for(i=3;in) return 0;for(i=m*m;in*n;i+)if(prime(i)bk+=I;return k;void main() int a50=0,b100=0,I,m,k,j,n;printf(“input n:”);scanf(“%d”,&n);m=fun(a,n);for(i=0;im;i+) k=fun1(ai,ai+1,b0);printf(“%d%d k=%d,ai,ai+1,k”);if(k4)printf(“false”);break;for(j=0;jk;j+) if(j%10=0)printf(“n”);printf(“%5d”,bj);printf(“n”);getch();【要求】1. 将上述程序录入到文件myf1.c中,根据题目要求及程序中语句之间的逻辑关系对程序中的错误进行修改。2 改错时,可以修改语句中的一部分内容,调整语句次序,增加少量的变量说明或编译预处理命令,单不能增加其他语句,也不能山区整条语句。3 改正后的源程序(文件名myf1.c)保存在T:盘根目录中共阅卷使用,否则不予评分。二 编程题【程序功能】 在给定范围内查找k使得用公式k2+k+17生成的整数满足以下条件:该数的十进制表示中低3位数字相同,去掉低3位后的整数是回文数。例如,当k=461时用公式生成的整数是212999,该数满足所给条件。【编程要求】1 编写函数int findnum(int n1,int n2,long a2)实现以下功能:k依次取n1n2范围内的每个整数,分别用每个k及公式k2+k+17生成整数y,若y满足给定条件,则将k值及y值保存到a指向的数组中,函数返回a数组中k的个数。2 编写函数main实现以下功能:声明二维数组a和变量n1,n2,输入两个整数并保存到n1,n2中,用n1,n2及a数组作实参调用findnum函数,按所给格式输出a数组中的数据到屏幕及文件myf2.out中。最后将考生本人的准考证号输出到文件myf2.out中。【测试数据及运行结果】输入:n1=1,n2=10000输出:k number 461 212999 586 343999 3839 14741777【要求】1 源程序文件名为myf2.c,输出结果文件名为myf2.out。2 数据文件的打开、使用、关闭均用C语言标准库中缓冲文件系统的文件操作函数实现。3 源程序文件和运行结果文件均需保存到T:盘根目录中供阅卷使用。4 不要复制拓展名为obj和exe的文件到T:盘中。2010年春C02一、 改错题(16分)程序功能 先将一个正整数转换为十进制数字字符串,再将千位分隔符插入到该字符串中,最后输出该字符串。测试数据及运行结果输入:1234567输出:1234567 1,234,567含有错误的源程序#include#includevoid ltoa(chars,long num) long n=num,i=0; Printf(“%ldn”,num); While(n) i+; n/=10; Si=0; While(num) s-i=num%10+0; num/=10; void insert(char s) char j,k,t; t=j=strlen(s); while(j3) j=j-3; for(k=t;kj;k-) sk=sk+1; sj=,; t+; void main() static char s20; long num; scanf(“%d”,&num); ltoa(s,num); insert(s,num); puts(s); getch();要求1 将上述程序录入到文件myf1.c中,根据题目要求及程序中语句之间的逻辑关 系对程序中的错误进行修改。2. 改错时,可以修改语句中的一部分内容,调整语句次序,增加少量的变量说 明或编译预处理命令,但不能增加其它语句,也不能删去整条语句。3. 改正后的源程序(文件名myf1.c)保存在T:盘根目录中拱阅卷使用,否则不予评分。二、 编程题(24分)程序功能 一个整数的“真因子”是指包括1但不包括整数自身的因子。 “真因子和数列”是指取一个正整数作为数列首项,首项之后的每一项都是前一项的真因子之和。真因子和数列有几种可能的形式,其中的一种形式是以1结束。例如,取10作为数列首项,10的真因子和为8(1+2+5),8的真因子和为7(1+2+4),7的真因子和为1。因此,用10生成的真因子和数列(10,8,7,1)以1结束。 编写程序分别以在给定范围内取值的多个正整数作为数列首项,生成多个与其对应的“真因子和数列”,这些数列均以1结束。编程要求1. 编写函数int sequ(int m1,int m2,int num10)实现以下功能:依次取m1,m2范围内每个正整数作为数列首项可生成m2-m1+1个真因子和数列,将其中不超过10项且以1结束的数列保存到num指向的二维数组中,函数返回num数组中存储的数列个数。2. 编写函数main实现以下功能:声名二维数组x和变量m1、m2,输入两个正整数保存到m1和m2中(m1m2),用m1、m2和数组x作为实参调用sequ函数,按所给格式将二维数组x中的数列输出到屏幕及文件myf2.out中。最后将考生本人的准考证号输出到文件myf2.out中。测试数据与运行结果输入:m1=21,m2=30输出: 21 11 1 22 14 10 8 7 1 23 1 24 36 55 17 1 26 16 15 9 4 3 1 27 13 1 29 1要求1. 源程序文件名为myf2.c,输出结果文件名为myf2.out。2. 数据文件的打开、使用、关闭均用C语言标准库中缓冲文件系统的文件操作函数实现。3. 源程序文件和运行结果文件均需保存在T:盘根目录中拱阅卷使用。4. 不要复制扩展名为obj和exe的文件到T:盘中。 2010年春C04一、 改错题(16分)【程序功能】由一个取值在032767范围内的正整数x生成一个由十六进制数字字符组成的字符串。生成规则如下:设x的质因数分解式为qnr(n) *qnr(n-1)*.*q2r(2)*q1r(1),其中q1代表素数2,q2代表q1之后的下一个素数3,qn代表qn-1之后的下一个素数。取出x的质因数分解式中所有素数的指数,将这些指数分别转换为十六进制数字字符并合并为一个字符串。例如,49的质因数分解式为72*50*30*20 ,因此由49生成的字符串是“2000”。16384的质因数分解式为 214=2EH,因此由16384生成的字符串是“E”。【测试数据与运行结果】第一次运行输入:49 输出:2000第二次运行输入:16384 输出:E第三次运行输入:16000 输出:307【含有错误源程序】#includeInt nextPrime(int x ) int k ;dox+ ;for(k=2;kx:k+) If(x%k=0) break;while(k2;)if(x%i=0) j+; x/=I;else *s+=bitj; i=nextPrime(i)=0; *s=bitj; *s+1=0;for (;ps;p+,s-) ch=*p; *p=*s; *s=ch Void main() int a; char s; scanf (“%d”, &a); transform(a,s); puts(s);getch();【要求】1、 将上述程序录入文件myf1.c中,根据题目要求及程序中语句之间的逻辑关系对程序中的错误进行修改。2、 改错时,可以修改语句中的一部分内容,调整语句次序,增加少量的变量说明或编译预处理命令,但不能增加其他语句,也不能删去整条语句。3、 改正后的源程序(文件名 myf1.c)保存在T:盘根目录中供阅卷使用,否则不予评分。二、 编程题(24分)【程序功能】 分别找出3位数和4位数中的所有Armstrong 数并输出。Armstrong数是指一个n位数的各数字的n次方之和等于该数。例如:153=13+53+33;1634=14+64+34+44。因此,153是3位Armstrong数,1634是4位Armstrong数。【编程要求】1、 编写函数 int arms(int ar)实现以下功能:将所有3位或4位Armstrong数存入数组ar中,函数返回这些Armstrong数的个数。2、 编写函数main实现以下功能:声明1个一位数组a,用a数组作实参调用arms函数,将a数组中存储的所有Armstrong数及其个数k输出到屏幕及文件myf2.out中。最后将考生本人的准考证号输出到文件myf2.out中。【测试数据与运行结果】输出: K=7153 370 371 407 1634 8208 9474【要求】1、 源程序文件名为myf2.c,输出结果文件名为myf2.out。2、 数据文件的打开、使用、关闭均用C语言标准库中缓冲文件操作函数实现。3、 源程序文件和运行结果文件均需保存在T:盘根目录供阅卷使用。4、 不要复制扩展名为obj和exe的文件到T:盘中。10年春 c05语言一、改错(16分)【程序功能】 一个数列中相邻的n个数被称为n阶子序列。程序实现在二维数组a的每一行中找出和值最大的3阶子序列,并将这些子序列的起始列下标及和值保存在二维数组b中。 函数sta在pa指向的一维数组m个元素中找出和值最大的n阶子序列,将找到的子序列起始下标保存到pos指向的变量中,函数返回最大和值。【数据测试与运行结果】数组初始化数据:1 2 3 4 5 1 2 3 2 16 5 4 3 2输出: Position:a02 max:12 Position:a11 max:7 Position:a20 max:15【含有错误的源程序】#include“stido.h”int sta(int *pa,int m,intn,int *pos) int i=0,j=0,max=1,sum; int b; if(nm) b=(int*)malloc(sizeof(int)*(m-n+1); for(i=0;i=m-n;i+) for(sum=0,j=i+1;ji+n;j+) Sum=sun+paj; bi=sum; max=b0; for(i=0;imax) max=bi; *pos=I; free(b); return max; void main() inta3=1,2,3,4,5,1,2,3,2,1,6,5,4,3,2,b32=0,I,n,*p=&n; for(i=0;i3;i+) bi1=sta(ai,5,3,p); bi0=p; printf(“n position:a%d%d max:%4d”,I,bi0,bi1); getch(); 【要求】1. 将上述程序录入到文件myf1.c中,根据题目要求及程序中语句之间的逻辑关系对程序中的改错进行修改。2. 改错时,可以修改语句中的一部分内容,调整语句次序,增加少量的语句说明或编译预处理命令,但不能增加其它语句,也不能删去整条语句。3. 改正后的源程序(文件名myf1.c)保存在T:盘根目录中供阅卷使用,否则不予评分。二、编程题(24分)【程序功能】 判断求余运算“%”对于一个数组是否封闭。 求余运算“%”对于一个数组的封闭性定义为:对于一维数组a中的任意两个元素ai和aj(i不等于j),若当aj不为0时ai%aj的值都存在于数组a中,则称求余运算“%”对于a数组是封闭的。【编程要求】1.编写函数int judge(int a,int n)实现以下功能:判断求余运算%对于a指向的包含n个元素的数组是否封闭,若封闭则函数返回1,否则函数返回0。2.编写函数main实现以下功能:声明一维数组a和b并用测试数据初始化,分别用a数组和b数组作实参两次调用judge函数,判断求余运算“%”对于a数组及b数组是否封闭,若封闭则输出“yes”,否则输出“no”。将a数组和b数组中数据及判断结果输出到屏幕及文件myf2.out中。【测试数据与运行结果】 a数组初始化数据:1,3,22,4,15,2,7,5,0 b数组数据初始化:1,3,8,4,6,7,5,0输出:1 3 22 4 15 2 7 5 0 yes1 3 8 4 6 7 5 0 no【要求】1. 源程序文件名为myf2.c,输出结果文件名为myf2.out。2. 数据文件的打开、使用、关闭均用C语言标准库中缓冲文件系统的文件操作函数实现。3. 源程序文件和运行结果文件均需保存在T:盘根目录下供阅卷使用。4. 不要复制扩展名为obj和exe的文件到T:盘中。2010春 C语言 C06一 改错题【程序功能】 函数findword的功能是:在s指向的由若干个英文句子组成的字符串中搜索包含t指向子串的单词,将最骄傲道的所有包含t子串的单词复制到ch指向的二维数组中,函数返回找到的单词个数。 称s字符串为“被搜索字符串”,t字串为“搜索字符串”。【测试数据与运行结果】 被搜索字符串:No living man all things can.Graspall,loseall. 搜索字符串:all 输出: Ch0 all Ch1 Graspall Ch 2 loseall. K=3 【含有错误的源程序】 #include #include int findstr(char s,char t) int I,j; for(i=0;si!=0;i+) j=0; while(tj!=0&tj=si) j+;i+; if(tj!=0) return 1; else i=i-j;return 0;int findword(char s,char t,char ch20) int i=0,j,k=0; char str20; while(si) while(!isalpha(si) If(si!=0) i+; else break; for(j=0;isalpha(si);j+,i+) strj=si;strj=0;if(findstr(str,t) strcpy(str,chk+); return k; void main() char s80=”No living man all things can.Graspall,loseall.”;char t20=”all”,ch4020; int I,l; k=findword(s,t); for(i=0;ik;i+) pri
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 施工补充框架协议书
- 历史竞赛试题及答案:中国现代文化政策
- 教辅资料购买协议书
- 服装贴牌加工合同范本
- 基于析因法与模型构建的棉籽粕肉鸭净能评定研究
- 2026-2031全球及中国合成纸行业市场发展分析及前景趋势与投资发展研究报告
- 基于条件性基因敲除解析Ash2l在小鼠肝脏及胚胎成纤维细胞中的功能机制
- 模具原材料合同范本
- 2026-2031年中国手术机器人市场发展分析及未来投资潜力可行性报告
- 轧钢工职业技能大赛考试题库含答案
- 小学数学-《出入相补-平行四边形的面积》教学课件设计
- 年小区业委会工作经费预算说明
- 动火证施工现场动火证申请书
- 八年级数学上册整式的乘法多项式乘以多项式
- YS/T 781.4-2012铝及铝合金管、棒、型材行业清洁生产水平评价技术要求第4部分:氟碳漆喷涂产品
- GB/T 20220-2006塑料薄膜和薄片样品平均厚度、卷平均厚度及单位质量面积的测定称量法(称量厚度)
- 04-电缆绝缘电阻测试记录表
- 《罗织经》全文及翻译
- 心脏肿瘤及心内异常回声
- (中职)计算机组装与维护第7章 电源和机箱教学课件
- 旅游情景英语课件(完整版)
评论
0/150
提交评论