2012春江苏省高校计算机等级考试二级C语言上机题(C01)及其解答_张柏雄_第1页
2012春江苏省高校计算机等级考试二级C语言上机题(C01)及其解答_张柏雄_第2页
2012春江苏省高校计算机等级考试二级C语言上机题(C01)及其解答_张柏雄_第3页
2012春江苏省高校计算机等级考试二级C语言上机题(C01)及其解答_张柏雄_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、江苏省高等学校非计算机专业学生计算机基础知识和应用能力等级考试上机试卷(2012春)二级C语言试卷代号C01(本试卷完成时间70分钟)一、改错题(16分)【程序功能】以下程序中函数voidcsort(charstrN,intn)对str指向的二级数组前n行中存储的n个字符串分别做如下处理:从中间将字符串一分为二,左半部分字符子串按字符的ASCII码从大到小排序(若字符串长度为奇数,则中间字符不参加排序)。【测试数据与运行结果】测试字符串:”abcdefgh”,”123498765”屏幕输出:dcbaefgh432198765【含有错误的源程序】#include<stdio.h>#i

2、nclude<string.h>#include<conio.h>#defineN80voidcsort(charstrN,intn);voidmain()chars2N="abcdefgh","123498765"inti;csort(s,2);for(i=0;i<2;i+)puts(s);getch();voidcsort(charstrN,intn)inti,j,k,len,half;chartemp;for(i=0;i<n;i+)len=strlen(stri0);half=len/2;for(j=0;j<

3、;half-1;j+)for(k=j+1;k<half-1;k+)if(strij<strik)temp=strij;strij=strik;strik=temp;【要求】1. 打开T盘中myfl.c文件或将上述程序录入到myf1.c文件中,根据题目要求及程序中语句之间的逻辑关系对程序中的错误进行修改。2. 改错时,可以修改语句中的一部分内容,调整语句次序,增加少量的变量说明或编译预处理命令,但不能增加其它语句,也不能删去整条语句。3. 改正后的源程序(文件名myfl.c)保存在T盘的根目录中供阅卷使用,否则不予评分。二、编程题(24分)【程序功能】对于所给的一个自然数n,查找并输

4、出所有满足以下条件的等差数列:公差为1;数列中各项数值之和等于n。【编程要求】1、编写函数intfound(inta30,intn)。函数功能:查找满足上述条件的所有等差数列并依次将其保存到a指向的数组中(一行保存一个数列),函数返回找到的数列个数。2、编写函数main()。函数功能:声明一个二级整型数组用于保存查找结果,输入一个整数并保存到变量n中(n£600)。用n和整型数组作实参调用found函数,将找到的所有等差数列输出到屏幕及数据文件myf2.out中。最后将考生本人的准考证号输出到文件myf2.out中。【测试数据与运行结果】输入m=500屏幕输出:89101112131

5、415161718192021222324252627282930313259606162636465669899100101102500Mynumberis11234567【要求】1. 源程序文件名为myf2.c,输出结果文件名为myf2.out。2. 数据文件的打开、使用、关闭均用C语言标准库中文件操作函数实现。3. 源程序文件和运行结果文件均需保存到T盘上,供阅卷使用。4. 不要复制扩展名为obj和exe的文件到T盘上。【改错题解答:myf1c】#include<stdio.h>#include<string.h>#include<conio.h>#d

6、efineN80voidcsort(charstrN,intn);voidmain()chars2N="abcdefgh","123498765"inti;/1、二维字符串赋值需要在数值两边加大括弧csort(s,2);for(i=0;i<2;i+)puts(si);2、二维数组一行字符串,加下标,即puts(s);fputs(si);getch();voidcsort(charstrN,intn)inti,j,k,len,half;chartemp;for(i=0;i<n;i+)Ien=strlen(str);3、strlen库函数的实参是

7、数组名str,不是stri0haIf=Ien/2+1;4、按照题意“从中间将字符串一分为二左边排序”,所以half=len/2;-half=len/2+1;for(j=0;j<half-1;j+)for(k=j+1;k<half-1;k+)if(strij<strik)temp=strij;strij=strik;strik=temp;【编程题解答:myf2.c】#include<stdio.h>#includevstdlib.h>/*exit(0);需要*/#includevconio.h/*库函数getch()需要*/intfound(inta30,in

8、tn)inti,j,k,x=0,s,y,z;for(i=1;iv=n;i+)s=0,y=0;for(j=i,z=i;jv=n;j+)s+=j;y+;if(s>n)break;if(s=n)for(k=1;kv=y;k+)axk=z+;ax0=y;x+;returnx;voidmain()inti,j,m,n,b1030;FILE*fp;if(fp=fopen("myf2.out","w")=NULL)printf("Itisnotopenthisfile!n");exit(0);printf("nPleaseInput

9、:");fprintf(fp,"nPleaseInput:");scanf("%d",&n);printf("%dn",n);fprintf(fp,"%dn",n);m=found(b,n);for(i=0;ivm;i+)printf("%4d个数",bi0);fprintf(fp,"%4d个数",bi0);for(j=1;j<=bi0;j+)printf("%4d",bij);fprintf(fp,"%4d",

10、bij);printf("n");fprintf(fp,"n");printf("Mynumberis11234567n");fprintf(fp,"Mynumberis11234567n");fclose(fp);getch();*D:Tc3DebugMTF2.ezettinclude<stdio.h>亦个数891011121314151617181'26272829303132&个数5960616263646566弓个数9899100101102PleaseInput:500E001

11、个数500llynLimberis11234567Pressanykeytocontinuettinclude<stdlib.h>/*exit(B);需要可ttinclude<conio.h>"库函薮getch()需要*/intFound(inta30,intn)<inti,j,k,x=B,s,y,z;For(i=1;i<=n;i+)<s=B,y=0;For(j=i,z=i;j<=n;j+)<s+=j;y+;iF(s>n)break;iF(s=n)for(k=1;k<=y;k+)axk=z+;axB=y;x+;retu

12、rnx;voidmain()inti,j,m,n,b1030;FILE*fp;iF(Fp=Fopen(,myF2.out,w,)=NULL)printFf'ItisnotopenthisFile!n");exit(B);printf("nPleaseInput:");FprintF(fp,"nPleaseInput;scanFC'd'&n);printf,n);FprintF(fp,n);m=1:ound(b,n);For(i=0;i<m;i+)<printF("4d个数",biB);FprintF(fp个数",bi0)jfor(j=1;j<=bi8;j+)PrintFC4d",b

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论