四川省计算机二级C与C++机试题参考答案1824次.docx

上传人:b****6 文档编号:6942827 上传时间:2023-01-12 格式:DOCX 页数:48 大小:28.65KB
下载 相关 举报
四川省计算机二级C与C++机试题参考答案1824次.docx_第1页
第1页 / 共48页
四川省计算机二级C与C++机试题参考答案1824次.docx_第2页
第2页 / 共48页
四川省计算机二级C与C++机试题参考答案1824次.docx_第3页
第3页 / 共48页
四川省计算机二级C与C++机试题参考答案1824次.docx_第4页
第4页 / 共48页
四川省计算机二级C与C++机试题参考答案1824次.docx_第5页
第5页 / 共48页
点击查看更多>>
下载资源
资源描述

四川省计算机二级C与C++机试题参考答案1824次.docx

《四川省计算机二级C与C++机试题参考答案1824次.docx》由会员分享,可在线阅读,更多相关《四川省计算机二级C与C++机试题参考答案1824次.docx(48页珍藏版)》请在冰豆网上搜索。

四川省计算机二级C与C++机试题参考答案1824次.docx

四川省计算机二级C与C++机试题参考答案1824次

四川省普通高等学校计算机应用知识和能力

第十八次等级考试

二级(C语言)上机考试试卷(第一套)参考答案

一、程序调试题(文件名为test1-1.c)(40分)

#include

#include

intfun(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("%d\n",fun(m));

}

评分标准:

每改对一处得5分,运行结果正确得5分。

二、编写程序(程序文件取名为test1-2.c)(60分)

评分标准:

1.文件打开与关闭正确10分2.文件读写正确10分

3.函数及函数调用正确20分4.屏幕上显示结果正确10分

5.Test1-2.txt中结果正确10分

参考程序:

#include

#include

#defineM10

inta[M][M]={0};

fm(inta[][M],intm)

{intj,k;

for(j=0;j

for(k=0;k

a[j][k]=(k+1)*(j+1);

}

main()

{inti,j,n;

FILE*fp;

fp=fopen("test1-2.txt","w");

clrscr();

printf("Entern:

");

scanf("%d",&n);

fm(a,n);

for(i=0;i

{for(j=0;j

{printf("%4d",a[i][j]);

fprintf(fp,"%4d",a[i][j]);

}

printf("\n");

fprintf(fp,"\n");

}

fclose(fp);

}

四川省普通高等学校计算机应用知识和能力

第十九次等级考试

二级(C和C++语言)上机考试试卷(第一套)参考答案

一、程序调试题(文件名为test1-1.c)(40分)

#include

voidfun(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:

%ld\n",t);

}

elseprintf("svalueerror.\n");

}

评分标准:

每改对一处得6分,第二处有两个错误,结果正确得10分。

二、编写程序(程序文件取名为test1-2.c)(60分)

评分标准:

1.文件打开、关闭正确10分2.屏幕结果输出正确5分

3.文件结果输出正确5分4.数据输入方法正确5分

5.排号正确5分6.数据初始化正确5分

7.数据处理正确20分8.找出结果正确5分

参考程序:

#include

#definenmax50

voidmain()

{inti,k,m,n,num[nmax],*p;

FILE*fp;

printf("Pleaseenterthen:

");

scanf("%d",&n);

p=num;

for(i=0;i

*(p+i)=i+1;

i=0;k=0;m=0;

while(m

{if(*(p+i)!

=0)

k++;

if(k==5)

{*(p+i)=0;

k=0;m++;

}

i++;

if(i==n)i=0;

}

while(*p==0)p++;

fp=fopen("test1-2.dat","w");

printf("%dnumberisalastont.\n",*p);

fprintf(fp,"%dnumberisalastont.\n",*p);

fclose(fp);

}

四川省普通高等学校计算机应用知识和能力

第十九次等级考试

二级(C和C++语言)上机考试试卷(第二套)参考答案

一、程序调试题(文件名为test2-1.c)(40分)

#include

#include

voidfun(char*s,char*t1,char*t2,char*w)

{char*p,*r,*place;

strcpy(w,s);

place=NULL;

while(*w)

{p=w;r=t1;

while(r)/*改为*r*/

if(*r=*p)/*改为*r==*p*/

{r++;p++;}

elsecontinue;/*改为break*/

if(*r=='0')/*改为'\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:

%s\n",w);

}

elseprintf("Error:

strlen(t1)!

=strlen(t2)\n");

}

评分标准:

每改对一处得6分,结果正确得10分。

二、编写程序(程序文件取名为test2-2.c)(60分)

评分标准:

1.文件打开、关闭正确10分2.屏幕结果输出正确5分

3.文件结果输出正确5分4.数据输入方法正确5分

5.函数调用和函数参数定义方法正确10分6.下标为奇数位置的判断正确10分

7.字母转换正确10分8.命令行参数使用正确5分

参考程序:

#include

voidfun(char*st)

{char*p=st;

inti=0;

while(*p)

{if((i%2)&&(*p>='a'&&*p<='z'))*p-=32;

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!

='\0'||*s1!

=*s2)/*改为&&*/

*s1++;/*改为*s1++*/

if(*s1!

='\0')

for(;p>=s1;p++)/*改为p--*/

*(p+len2)=*p;

while(*s2)

*s1++=*s2++;

*(q+len1+len2)='\0';

returnp;/*改为returnq*/

}

voidmain()

{charstr1[100],str2[100],*add;

printf("Inputastring:

\n");

gets(str1);

printf("\nInputthestringdoyouwanttoinsert:

\n");

gets(str2);

add=insert(str1,str2);

printf("outputis:

%s\n",add);

}

评分标准:

每改对一处得5分,结果正确得10分。

二、编写程序(程序文件取名为test3-2.c)(60分)

评分标准:

1.字符串输入正确5分2.函数及函数调用正确10分

3.替换位置定义正确10分4.字符串替换正确15分

5.屏幕上显示结果正确5分6.文件打开、关闭正确5分

7.文件写入正确5分8.返回结果正确5分

参考程序:

#include

#include

char*strrep(char*s1,char*s2,intn)

{char*p,*q;

p=s1+n;

q=s2;

while(*q)*p++=*q++;

*p='\0';

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:

%s\n",str);

fprintf(fp,"Outputis:

%s\n",str);

}

else

{printf("nvalueiserror.\n");

fprintf(fp,"nvalueiserror.\n");

}

fclose(fp);

}

四川省普通高等学校计算机应用知识和能力

第二十次等级考试

二级(C和C++语言)上机考试试卷(第一套)参考答案

一、程序调试题(文件名为test1-1.c)(40分)

#include

intlen_max(char*strp)

{intmax=0,len=0;

while(strp!

='\0')

{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=%d\n",maxlen);

}

二、编写程序(程序文件取名为test1-2.c)(60分)

评分标准:

1.文件打开、关闭正确2.屏幕结果输出正确

3.文件结果输出正确4.函数定义、形参书写正确

5.正确定义实参二维数组,并能正确调用creat函数6.函数中对二维数组的处理正确

参考程序:

#include

voidcreat(inta[10][10],intn)

{inti,j;

for(i=0;i

for(j=0;j<=i;j++)

a[i][j]=i*4+j*2+1;

}

main()

{inta[10][10],m,i,j;

FILE*fp;

fp=fopen("test1-2.dat","w");

printf("Inputm(1~10):

");

scanf("%d",&m);

creat(a,m);

for(i=0;i

{for(j=0;j<=i;j++)

{printf("%5d",a[i][j]);

fprintf(fp,"%5d",a[i][j]);

}

printf("\n");

fprintf(fp,"\n");

}

fclose(fp);

}

四川省普通高等学校计算机应用知识和能力

第二十次等级考试

二级(C与C++语言)上机考试试卷(第二套)参考答案

一、程序调试题(文件名为test2-1.c)(40分)

#include

voidfun(intm,chars)/*改为*s*/

{intk,i=10;

while(m!

=0)

{k=m/i;/*改为m%i*/

*s=k+"0";/*改为'0'*/

s++;

m=(m-k)/i;

}

/*增加一行内容:

*s='\0';*/

}

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("xvalueerror\n");

}

二、编写程序(程序文件取名为test2-2.c)(60分)

评分标准:

1.文件打开和关闭正确2.串的读入正确

3.串的排序正确4.文件位置指针定位正确

5.屏幕输出和文件输出正确6.程序结构合理

参考程序:

#include

#include

main()

{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

#defineP2

voidfun(inta[M][N],b[N][P],c[M][P])/*改为intb[N][P],intc[M][P]*/

{inti,j,k;

for(i=0;i<=P;i++)/*改为i

for(j=0;j

{c[i][j]=0;

for(k=0;k

c[i][j]=a[i][k]*b[k][j];/*改为+=*/

}

}

voidmain()

{inta[2][3]={{1,2,3},{4,5,6}};

intb[3][2]={{1,2},{3,4},{5,6}};

intc[2][2],i,j;

fun(*a,*b,*c);/*改为fun(a,b,c)*/

for(i=0;i<2;i++)

{for(j=0;j<2;j++)

printf("%d",c[i][j]);

printf("\n");

}

}

二、编写程序(程序文件取名为test3-2.c)(60分)

评分标准:

1.文件打开和关闭正确2.函数定义、调用和参数使用正确

3.屏幕输出和文件输出正确4.递归调用方法正确

5.命令行参数使用正确6.程序结构合理

参考程序:

#include

intfun(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=%d\n",n,sum);

fprintf(fp,"1+2+...+%d=%d\n",n,sum);

fclose(fp);

}

四川省普通高等学校计算机应用知识和能力

第二十一次等级考试

二级(C与C++语言)上机考试试卷(第一套)参考答案

一、程序调试题(文件名为test1-1.c)(40分)

#include

#include

char*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

#include

intprime(inta[],intn)

{inti,j,k=0,flag=0;

for(i=0;i

{for(j=2;j

if(a[i]%j==0)

{flag=0;

break;

}

elseflag=1;

if(flag)

a[k++]=a[i];

}

returnk;

}

main()

{intn,i,a[10];

FILE*fp;

f

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1