四川省计算机二级(C与C )机试题参考答案18~24次)

申明敬告: 本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。

文档介绍

四川省计算机二级(C与C )机试题参考答案18~24次)

四川省计算机二级(C与C++)上试试题参考答案四川省普通高等学校计算机应用知识和能力第十八次等级考试二级(C语言)上机考试试卷(第一套)参考答案一、程序调试题(文件名为test1-1.c)(40分)#include#includeintfun(intm);/*去掉分号(;)*/{intsum,n=0,j,yes;/*改为sum=0*/while((m>=2)&&(n<10)/*改为(n<10))*/{yes=0;/*改为yes=1*/for(j=2;j<=m/2;j++)if(m%j==0){yes=0;break;}if(yes=1)/*改为yes==1*/{sum+=m;n++;m--;}}return;/*改为returnsum*/}main(){intm;clrscr();scanf("%d",m);/*改为&m*/printf("%dn",fun(m));}评分标准:每改对一处得5分,运行结果正确得5分。二、编写程序(程序文件取名为test1-2.c)(60分)评分标准:1.文件打开与关闭正确10分2.文件读写正确10分3.函数及函数调用正确20分4.屏幕上显示结果正确10分5.Test1-2.txt中结果正确10分参考程序:#include#include#defineM10inta[M][M]={0};fm(inta[][M],intm){intj,k;for(j=0;jvoidfun(longs,longt)/*改为long*t*/{longs1=10;*t=s%10;while(s>o);/*改为while(s>0)*/{s=s/100;t=s%10*s1+t;/*改为*t=s%10*s1+*t*/s1=s1*100;/*改为s1=s1*10*/}}voidmain(){longs,t;printf("nPleaseenterintegers:");scanf("%ld",&s);if(s>0){fun(s,&t);printf("Theresultis:%ldn",t);}elseprintf("svalueerror.n");}评分标准:每改对一处得6分,第二处有两个错误,结果正确得10分。第33页共33页n四川省计算机二级(C与C++)上试试题参考答案二、编写程序(程序文件取名为test1-2.c)(60分)评分标准:第33页共33页四川省计算机二级(C与C++)上试试题参考答案1.文件打开、关闭正确10分2.屏幕结果输出正确5分3.文件结果输出正确5分4.数据输入方法正确5分5.排号正确5分6.数据初始化正确5分7.数据处理正确20分8.找出结果正确5分第33页共33页四川省计算机二级(C与C++)上试试题参考答案参考程序:#include#definenmax50voidmain(){inti,k,m,n,num[nmax],*p;FILE*fp;printf("Pleaseenterthen:");scanf("%d",&n);p=num;for(i=0;i#includevoidfun(char*s,char*t1,char*t2,char*w){char*p,*r,*place;strcpy(w,s);place=NULL;第33页共33页n四川省计算机二级(C与C++)上试试题参考答案while(*w){p=w;r=t1;while(r)/*改为*r*/if(*r=*p)/*改为*r==*p*/{r++;p++;}elsecontinue;/*改为break*/if(*r=='0')/*改为''*/place=w;w++;}if(place!=NULL){r=t2;while(&r)/*改为*r*/*place=*r,place++,r++;}}main(){chars[100],t1[100],t2[100],w[100];printf("nPleaseenterstrings:");scanf("%s",s);printf("nPleaseentersubstringt1:");scanf("%s",t1);printf("nPleaseentersubstringt2:");scanf("%s",t2);if(strlen(t1)==strlen(t2)){fun(s,t1,t2,w);printf("nTheresultis:%sn",w);}elseprintf("Error:strlen(t1)!=strlen(t2)n");}评分标准:每改对一处得6分,结果正确得10分。二、编写程序(程序文件取名为test2-2.c)(60分)评分标准:第33页共33页四川省计算机二级(C与C++)上试试题参考答案1.文件打开、关闭正确10分2.屏幕结果输出正确5分3.文件结果输出正确5分4.数据输入方法正确5分5.函数调用和函数参数定义方法正确10分6.下标为奇数位置的判断正确10分7.字母转换正确10分8.命令行参数使用正确5分第33页共33页四川省计算机二级(C与C++)上试试题参考答案参考程序:#includevoidfun(char*st){char*p=st;inti=0;while(*p){if((i%2)&&(*p>='a'&&*p<='z'))*p-=32;第33页共33页n四川省计算机二级(C与C++)上试试题参考答案p++;i++;}}voidmain(intargc,char*argv[]){chartt[51];FILE*wf;if(argc!=2){printf("nToofewparameter!n");exit(0);}wf=fopen(argv[1],"w");printf("Pleaseenterancharachterstringwithin50characters:n");gets(tt);fun(tt);puts(tt);fprintf(wf,"t=%s",tt);fclose(wf);}四川省普通高等学校计算机应用知识和能力第十九次等级考试二级(C和C++语言)上机考试试卷(第三套)参考答案一、程序调试题(文件名为test3-1.c)(40分)#include"stdio.h"#include"string.h"char*insert(char*s1,char*s2){intlen1,len2;charp,q;/*改为*p,*q*/len1=strlen(s1);len2=strlen(s2);q=s1;p=s1+len1;/*改为len1-1*/while(*s1!=''||*s1!=*s2)/*改为&&*/*s1++;/*改为*s1++*/if(*s1!='')for(;p>=s1;p++)/*改为p--*/*(p+len2)=*p;while(*s2)*s1++=*s2++;*(q+len1+len2)='';returnp;/*改为returnq*/}voidmain(){charstr1[100],str2[100],*add;printf("Inputastring:n");第33页共33页n四川省计算机二级(C与C++)上试试题参考答案gets(str1);printf("nInputthestringdoyouwanttoinsert:n");gets(str2);add=insert(str1,str2);printf("outputis:%sn",add);}评分标准:每改对一处得5分,结果正确得10分。二、编写程序(程序文件取名为test3-2.c)(60分)评分标准:第33页共33页四川省计算机二级(C与C++)上试试题参考答案1.字符串输入正确5分2.函数及函数调用正确10分3.替换位置定义正确10分4.字符串替换正确15分5.屏幕上显示结果正确5分6.文件打开、关闭正确5分7.文件写入正确5分8.返回结果正确5分第33页共33页四川省计算机二级(C与C++)上试试题参考答案参考程序:#include#includechar*strrep(char*s1,char*s2,intn){char*p,*q;p=s1+n;q=s2;while(*q)*p++=*q++;*p='';returns1;}main(){chara[100],b[100],*str;intn,len;FILE*fp;fp=fopen("test3-2.dat","w");printf("Inputstringaandb:n");gets(a);gets(b);len=strlen(a);printf("Inputnumber:");scanf("%d",&n);if((n>=0)&&(n<=len)){str=strrep(a,b,n);printf("Outputis:%sn",str);fprintf(fp,"Outputis:%sn",str);}else{printf("nvalueiserror.n");fprintf(fp,"nvalueiserror.n");}第33页共33页n四川省计算机二级(C与C++)上试试题参考答案fclose(fp);}四川省普通高等学校计算机应用知识和能力第二十次等级考试二级(C和C++语言)上机考试试卷(第一套)参考答案一、程序调试题(文件名为test1-1.c)(40分)#includeintlen_max(char*strp){intmax=0,len=0;while(strp!=''){while((*strp>='A'&&*strp<='Z')&&(*strp>='a'&&*strp<='z'))/*改为||*/{len++;/*增加一行语句:strp++;*/}if(lenmax*/len=0;strp++;}return;/*改为returnmax*/}voidmain(){charstr[100];intmaxlen;printf("Inputasentence:n");gets(str);maxlen=len_max(&str);/*改为str*/printf("maxlen=%dn",maxlen);}二、编写程序(程序文件取名为test1-2.c)(60分)评分标准:1.文件打开、关闭正确2.屏幕结果输出正确3.文件结果输出正确4.函数定义、形参书写正确5.正确定义实参二维数组,并能正确调用creat函数6.函数中对二维数组的处理正确参考程序:#includevoidcreat(inta[10][10],intn){inti,j;for(i=0;ivoidfun(intm,chars)/*改为*s*/{intk,i=10;while(m!=0){k=m/i;/*改为m%i*/*s=k+"0";/*改为'0'*/s++;m=(m-k)/i;}/*增加一行内容:*s='';*/}voidmain(){intx,i;chars[10];scanf("%d",&x);if(x>0){fun(x,s);for(i=0;s;i++)/*改为s[i]*/printf("%c*",s[i]);}elseprintf("xvalueerrorn");}二、编写程序(程序文件取名为test2-2.c)(60分)评分标准:1.文件打开和关闭正确2.串的读入正确3.串的排序正确4.文件位置指针定位正确5.屏幕输出和文件输出正确6.程序结构合理第33页共33页n四川省计算机二级(C与C++)上试试题参考答案参考程序:#include#includemain(){charstr[3][80],string[80];inti,j,k;FILE*fp;fp=fopen("test2-2.txt","r+");for(i=0;i<3;i++)fgets(str[i],80,fp);printf("Thestrings:n");for(i=0;i<3;i++)printf("%s",str[i]);for(i=0;i<2;i++){k=i;for(j=i+1;j<3;j++)if(strcmp(str[k],str[j])>0)k=j;if(k!=i){strcpy(string,str[k]);strcpy(str[k],str[i]);strcpy(str[i],string);}}printf("Sortedresult:n");fseek(fp,0,2);for(i=0;i<3;i++){printf("%s",str[i]);fprintf(fp,"%s",str[i]);}fclose(fp);}四川省普通高等学校计算机应用知识和能力第二十次等级考试二级(C与C++语言)上机考试试卷(第三套)参考答案一、程序调试题(文件名为test3-1.c)(40分)#include#defineM2#defineN3#defineP2voidfun(inta[M][N],b[N][P],c[M][P])/*改为intb[N][P],intc[M][P]*/{inti,j,k;for(i=0;i<=P;i++)/*改为iintfun(intn){intf;if(n<1)return0;elseif(n==1)f=1;elsef=fun(n-1)+n;returnf;}main(intargc,char*argv[]){intsum,n;FILE*fp;if(argc!=2){printf("Error!n");exit(0);}fp=fopen(argv[1],"w");printf("Inputn:");scanf("%d",&n);sum=fun(n);printf("1+2+...+%d=%dn",n,sum);fprintf(fp,"1+2+...+%d=%dn",n,sum);fclose(fp);}第33页共33页n四川省计算机二级(C与C++)上试试题参考答案四川省普通高等学校计算机应用知识和能力第二十一次等级考试二级(C与C++语言)上机考试试卷(第一套)参考答案一、程序调试题(文件名为test1-1.c)(40分)#include#includechar*fun(charstr)/*改为*str*/{inti;for(i=0;str;i++)/*改为str[i]*/if(('a'<=str[i])||(str[i]<='z'))/*改为&&*/str[i]+=32;/*改为-=*/return*str;/*改为str*/}main(){charstr[81];printf("nPleaseenterastring:");gets(str[81]);/*改为str*/printf("nTheresultstringis:n%s",fun(str));}评分标准:每改对1处得5分,结果正确得10分。二、编写程序(程序文件取名为test1-2.c)(60分)评分标准:1.被调函数编写正确20分2.文件打开、数据读入正确和定位正确10分3.函数调用正确5分4.屏幕输出和文件输出正确20分5.程序结构合理5分参考程序:#include#includeintprime(inta[],intn){inti,j,k=0,flag=0;for(i=0;i#defineN10/*改为N10*/voidfi(inta[],intm)/*改为int*/{intlow=0,high=N,mid;while(low<=high){mid=(low+high)/2;if(m=a[mid])/*改为m>a[mid]*/low=mid+1;elsereturn(mid);}return(-1);}main(){inti,a[N]={-3,4,7,9,13,45,67,89,100,180},k,m;for(i=0;i0)printf("m=%d,index=%dn",m,k);/*改为k>=0*/elseprintf("Notbefound!n");}第33页共33页n四川省计算机二级(C与C++)上试试题参考答案评分标准:每改对1处得5分,结果正确得10分。二、编写程序(程序文件取名为test2-2.c)(60分)评分标准:1.被调函数编写正确20分2.文件打开、数据读入正确15分3.函数调用正确5分4.屏幕输出及结果正确15分5.程序结构合理5分参考程序:#include#defineM3#defineN4voidfun(inttt[M][N],intpp[N]){inti,j,min;for(j=0;jvoidmain(){inti,k;/*改为k=0*/chara[80],b[80],*p;p=*a;/*改为p=a*/gets(p);while(!*p)/*改为*p*/{for(i=1;i<3&&*p!='';p++,k++,i++)/*改为i<=3*/b[k]=*p;if(i==4){b[k]='';k++;}/*改为''*/}b[k]='';puts(*b);/*改为b*/}评分标准:每改对1处得5分,结果正确得10分。二、编写程序(程序文件取名为test4-2.c)(60分)评分标准:1.被调函数编写正确20分2.文件打开、数据写入正确10分3.函数调用正确10分4.屏幕输出正确10分5.m输入正确5分6.程序结构合理5分参考程序:#includeintcreate(inta[],intm){inti,j=0;for(i=1;i<=m;i++)if(i%3==0||i%7==0)a[j++]=i;return(j);}main(){inta[80],m;inti,n;FILE*fp;if((fp=fopen("test3-2.dat","w"))==NULL){printf("Can'topenthefile.n");exit(0);}printf("Inputm:n");scanf("%d",&m);n=creat(a,m);printf("n=%dn",n);第33页共33页n四川省计算机二级(C与C++)上试试题参考答案fprintf("fp,"n=%dn",n);for(i=0;imain(){charstr[81],c;inti,j,n;/*改为n=0*/printf("nEnterastring:");gets(str[81]);/*改为str*/printf("nEnteracharacter:");getchar(c);/*改为c=getchar()*/for(i=j=0;str[i];i++)if(str[i]!=c)str[j]=str[i];/*改为j++*/elsen;/*改为n++*/str[j]=;/*改为str[j]=''*/printf("nSTR=%s,N=%dn",str,n);getchar();}评分标准:每改对1处得5分,结果正确得10分。二、编写程序(程序文件取名为test4-2.c)(60分)评分标准:1.输入数据正确5分2.被调函数编写正确20分3.文件操作及数据写入正确15分4.函数调用正确5分5.屏幕输出及结果正确10分6.程序结构合理5分参考程序:#include#includevoidfun(char*s,char*t){inti,j=0,n;n=strlen(s);for(i=0;i#includecharmove(char*str,intr)/*改为*move*/{chart;inti,len;/*改为k*/len=strlen(str);for(k=0;k<=r;k++)/*改为kstrlen(s))printf("nDataerror!!n");}while(m>strlen(s));printf("nResult:%sn",move(s,m));}评分标准:每改对1处得5分,结果正确得10分。第33页共33页n四川省计算机二级(C与C++)上试试题参考答案二、编写程序(程序文件取名为test1-2.c)(60分)评分标准:1.被调函数编写正确25分2.文件打开、数据读出正确10分3.函数调用正确10分4.屏幕输出正确10分5.程序结构合理5分参考程序:#includesort(chara[],charb[]){charc;inti,j=0;for(i=1;ib[j+1]){c=b[j];b[j]=b[j+1];b[j+1]=c;}}main(){FILE*in;chara[128],b[65];in=fopen("test1-2.in","r");fgets(a,128,in);fclose(in);sort(a,b);puts(b);}四川省普通高等学校计算机应用知识和能力第二十二次等级考试二级(C与C++语言)上机考试试卷(第二套)参考答案一、程序调试题(文件名为test2-1.c)(40分)#includemain(){floata[][10],min;/*改为a[10][10]*/inti,j;intinvert();/*改为float*/for(i=0;i<10;i++)for(j=0;j<10;j++)a[i][j]=i+j;for(i=0;i<10;i++){第33页共33页n四川省计算机二级(C与C++)上试试题参考答案min=invert(a,10);/*改为a[i]*/printf("a[%d]min=%fn",i,min);}}floatinvert(float*a,n)/*改为intn*/{inti;floatmin;min=*(a+0);for(i=1;i*/min=(a+i);/*改为*(a+i)*/}returnmin;}评分标准:每改对1处得5分,结果正确得10分。二、编写程序(程序文件取名为test2-2.c)(60分)评分标准:1.被调函数编写正确15分2.文件打开、数据写入正确15分3.函数调用正确10分4.屏幕输出正确10分5.程序结构合理10分参考程序:#includeintselect(inta){if(!(a%3)&&!(a%5))return1;elsereturn0;}main(){inti,k=0;FILE*fp;if((fp=fopen("test2-2.dat","wb"))==NULL){printf("cannotopenthefilen");exit(0);}for(i=3;i<400;i++)if(select(i)){k=k+1;printf("%10d",i);fprintf(fp,"%10d",i);if(k%5==0){printf("n");fprintf(fp,"n");}第33页共33页n四川省计算机二级(C与C++)上试试题参考答案}fclose(fp);}四川省普通高等学校计算机应用知识和能力第二十二次等级考试二级(C与C++语言)上机考试试卷(第三套)参考答案一、程序调试题(文件名为test3-1.c)(40分)#includeintfun(floats,intn,float*aver)/*改为*s*/{floatave,t=0.0;intcount,k,i;/*改为count=0*/for(k=0;kave)count++;/*改为<*/*aver=&ave;/*改为ave*/returncount;}main(){floats[30],aver;intm,i;printf("nPleaseentern(<30):");scanf("%d",&m);printf("nPleaseenter%dmark:n",m);for(i=0;i#include#defineM10voidfun(int*s){inti,j,t;for(i=1;is[j]){t=s[i];s[i]=s[j];s[j]=t;}}intinput(ints[]){FILE*fp;inti;if((fp=fopen("test3-2.in","r"))==NULL){printf("cannotopenfilen");return(0);}for(i=0;i#include/*改为:math.h*/main(){charstr[100],*p=str,help[15];staticlongintnum[50];inti=0,k=0,m,sign=0;printf("ninputthestring:");scanf("%s",p);do{if(*p>=0&&*p<=9)/*改为:*p>=’0’&&*p<=’9’或*p>=48&&*p<=57*/{sign=1;第33页共33页n四川省计算机二级(C与C++)上试试题参考答案help[k++]=*p;}elseif(sign=1)/*改为:==*/{intn=0;while(--k>=0)num[i]+=(help[k]-48)*((longint)pow(n++,10));/*改为:pow(10,n++)*/i++;k=0;sign=0;}else/*改为:else;*/p++;}while(*(p-1)!='');for(m=0;m#defineM1000intfun(int*a){intm,k=0;for(m=1;m<=M;m++)if((m%7==0&&m%11!=0)||(m%7!=0&&m%11==0))a[k++]=m;returnk;}main(){inta[M],n,k;FILE*fp;clrscr();/*清屏函数*/fp=fopen("test1-2.dat","w");n=fun(a);printf("%dn",n);fprintf(fp,"%dn",n);for(k=0;k#defineN80voidfun(int*s,int*t,intk)/*改为*k*/{inti,m;*k=0;m=*s;for(i=1;i<(*t-1);i++)if(m第33页共33页n四川省计算机二级(C与C++)上试试题参考答案#defineM1000intfun(int*a){intm,k=0;for(m=1;m<=M;m++)if((m%7==0&&m%11!=0)||(m%7!=0&&m%11==0))a[k++]=m;returnk;}main(){inta[M],n,k;FILE*fp;clrscr();/*清屏函数*/fp=fopen("test1-2.dat","w");n=fun(a);printf("%dn",n);fprintf(fp,"%dn",n);for(k=0;k#include/*改为ctype.h*/voidfun(chars)/*改为*s*/{inti,j;for(i=j=0;s[i];i++);/*改为去掉分号;*/if(isalpha(s[i]))s[j]=s[i];   /*改为s[j++]*/s[i]='';/*改为s[j]*/}voidmain(){charstr[80]="a*b$c(d!EEE!!a.";fun(str[80]);/*改为str*/第33页共33页n四川省计算机二级(C与C++)上试试题参考答案printf("n");puts(str);}评分标准:每改对一处得6分,结果正确得4分二、编程题(程序文件取名为test3-2.c)(60分)评分标准:1.文件定义、打开、关闭正确10分2.数据讲稿和文件写入正确10分3.函数调用正确5分4.函数定义和参数使用正确20分5.结果正确10分6.程序结构合理5分参考程序:#includevoidsort(intaa[],intbb[]){inti,j,data;for(i=0;i<5;i++)for(j=i+1;j<5;j++){if(aa[i]%1000>aa[j]%1000){data=aa[i];aa[i]=aa[j];aa[j]=data;}elseif(aa[i]%1000==aa[j]%1000)if(aa[i]#includeintfun(chars,chart)/*改为char*s,char*t*/{intn=0;char*p,*r;while(*s){p=s;r=t;while(*r)if(*r=*p)/*改为==*/{r++;p++;}elsecontinue;/*改为break*/if(r=='')/*改为*r*/n++;r++;/*改为s++*/}return*s;/*改为n*/}main(){intm;chars[100],t[100];printf("nPleaseenterstrings:");gets(s);printf("nPleaseenterstringt:");gets(t);m=fun(s,t);printf("nTheresultis:m=%dn",m);}评分标准:每改对一处得6分,结果正确得4分二、编程题(程序文件取名为test4-2.c)(60分)评分标准:1.被调函数编写正确20分2.函数调用正确5分第33页共33页n四川省计算机二级(C与C++)上试试题参考答案3.文件打开和关闭正确5分4.文件读、写正确15分5.N输入和屏幕输出正确10分6.程序结构合理5分参考程序:#include#defineN5voidfun(inta[N][N],intn){inti,j;for(i=j=0;ivoidspacenum(char*a,int*n){inti;n=0;/*改为*n*/for(i=0;iintfound(inta[]){inti;第33页共33页n四川省计算机二级(C与C++)上试试题参考答案intn=0;for(i=1;i<100;i++){if(i*i%10==i||i*i%100==i){a[n]=i;n++;}}returnn;}voidmain(){inta[10];intcount,i;FILE*fp;if((fp=fopen("test1_2.dat","w"))==NULL){printf("Cannotopenthefile.n");exit(0);}count=found(a);for(i=0;iintfun(unsignedn,intzero)/*改为*zero*/{intcount=0,max=0,t;do{t=n/10;/*改为n%10*/if(t=0)/*改为t==0*/count++;第33页共33页n四川省计算机二级(C与C++)上试试题参考答案if(maxmain(){FILE*in,*out;charc1[20];intcj1,cj2;intn=0,m=0;in=fopen("test2-2.dat","r");out=fopen("test2-2.out","w");while(!feof(in)){fscanf(in,"%s",c1);fscanf(in,"%d",&cj1);fscanf(in,"%d",&cj2);if(cj1>=90&&cj2>=90){printf("%s",c1);printf("%4d",cj1);printf("%4dn",cj2);fprintf(out,"%s",c1);fprintf(out,"%4d",cj1);fprintf(out,"%4dn",cj2);n++;}第33页共33页n四川省计算机二级(C与C++)上试试题参考答案m++;}fclose(in);printf("Thetotal:%dn",m);printf("Theexcellencenumber:%dn",n);printf("Theexcellencerate:%.2fn",(flaot)n/(float)m*100);fprintf(out,"Thetotal:%dn",m);fprintf(out,"Theexcellencenumber:%dn",n);fprintf(out,"Theexcellencerate:%.2fn",(flaot)n/(float)m*100);fclose(out);}四川省普通高等学校计算机应用知识和能力第二十四次等级考试二级(C与C++语言)上机考试试卷(第三套)参考答案一、程序调试题(文件名为test3-1.c)(40分)#include#defineN81voidfun1(chars)/*改为*s*/{while(*s)if(*s='z'||*s='Z')/*改为*s=='z'||*s=='Z'*/{*s-=26;s++;}/*改为25*/elseif(*s>='a'&&*s<='y'&&*s>='A'&&*s<='Y')/*改为||*/{*s+=1;s++;}else(*s)++;/*改为s++*/}main(){chara[N];printf("Enterastring:");gets(a);puts(a);fun1(a);puts(a);}评分标准:每改对一处得8分二、编程题(程序文件取名为test3-2.c)(60分)评分标准:1.文件指针定义、打开文件、关闭文件正确10分2.读文件内容正确10分3.转置运算算法正确10分4.被调函数定义以及参数传递正确15分5.输出结果正确10分6.程序结构正确5分参考程序:#include第33页共33页n四川省计算机二级(C与C++)上试试题参考答案covert(inta[][4],intb[][3]){inti,j;for(i=0;i<3;i++)for(j=0;j<4;j++)b[j][i]=a[i][j];}voidmain(){inta[3][4],b[4][3];inti,j;FILE*fp;fp=fopen("test3-2.dat","r");for(i=0;i<3;i++)for(j=0;j<4;j++)fscanf(fp,"%d",&a[i][j]);fclose(fp);covert(a,b);for(i=0;i<4;i++){for(j=0;j<3;j++)printf("%5d",b[i][j]);printf("n");}}四川省普通高等学校计算机应用知识和能力第二十四次等级考试二级(C与C++语言)上机考试试卷(第四套)参考答案一、程序调试题(文件名为test4-1.c)(40分)#includesub(k)/*改为intk*/{inta1,a2;a2=k%10;/*改为k/10*/a1=k-a2*10;if((k%3==0&&a2==5)&&(k%3==0&&a1==5))/*改为||*/{printf("%4d",k);return1;}elsereturn-1;}main(){intn=0,k,m;for(k=10;k<=99;k++){m=sub(k);if(m!=-1)n=m;/*改为n++*/第33页共33页n四川省计算机二级(C与C++)上试试题参考答案}printf(nn=%4d,n);/*改为"nn=%4d"*/}评分标准:每改对一处得8分二、编程题(程序文件取名为test4-2.c)(60分)评分标准:1.偶数位上的字母转换正确10分2.基数位上的字母转换正确10分3.其他字符不转换正确10分4.文件打开和数据读入正确10分5.函数调用及参数传递正确10分6.屏幕输出正确10分参考程序:#include#defineN80voidexchange(char*s){inti,j;char*s1,*s2;s1=s;s2=s+1;while(*s1||*s2){if(*s1>='a'&&*s1<='z'){*s1-=32;s1+=2;}else{*s1=*s1;s1+=2;}if(*s2>='A'&&*s2<='Z'){*s2+=32;s2+=2;}else{*s2=*s2;s2+=2;}}}main(){charstr[N];FILE*fp;if((fp=fopen("test4-2.txt","r"))==NULL){printf("Cannotopenthefile.n");exit(0);}fgets(str,N,fp);第33页共33页n四川省计算机二级(C与C++)上试试题参考答案puts("Theoriginalstringis:");puts(str);exchange(str);puts("Thestringafternodifiedis:");puts(str);fclose(fp);}第33页共33页
查看更多

相关文章

您可能关注的文档