四川省计算机二级C与C++机试题参考答案1824次文档格式.docx
- 文档编号:19964321
- 上传时间:2023-01-12
- 格式:DOCX
- 页数:48
- 大小:28.65KB
四川省计算机二级C与C++机试题参考答案1824次文档格式.docx
《四川省计算机二级C与C++机试题参考答案1824次文档格式.docx》由会员分享,可在线阅读,更多相关《四川省计算机二级C与C++机试题参考答案1824次文档格式.docx(48页珍藏版)》请在冰豆网上搜索。
评分标准:
每改对一处得5分,运行结果正确得5分。
二、编写程序(程序文件取名为test1-2.c)(60分)
1.文件打开与关闭正确10分2.文件读写正确10分
3.函数及函数调用正确20分4.屏幕上显示结果正确10分
5.Test1-2.txt中结果正确10分
参考程序:
#defineM10
inta[M][M]={0};
fm(inta[][M],intm)
{intj,k;
for(j=0;
m;
for(k=0;
k<
k++)
a[j][k]=(k+1)*(j+1);
{inti,j,n;
FILE*fp;
fp=fopen("
test1-2.txt"
"
w"
);
Entern:
"
&
n);
fm(a,n);
for(i=0;
i<
n;
i++)
{for(j=0;
{printf("
%4d"
a[i][j]);
fprintf(fp,"
\n"
fclose(fp);
第十九次等级考试
二级(C和C++语言)上机考试试卷(第一套)参考答案
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;
\nPleaseenterintegers:
%ld"
s);
if(s>
0)
{fun(s,&
t);
Theresultis:
%ld\n"
t);
elseprintf("
svalueerror.\n"
每改对一处得6分,第二处有两个错误,结果正确得10分。
1.文件打开、关闭正确10分2.屏幕结果输出正确5分
3.文件结果输出正确5分4.数据输入方法正确5分
5.排号正确5分6.数据初始化正确5分
7.数据处理正确20分8.找出结果正确5分
#definenmax50
{inti,k,m,n,num[nmax],*p;
Pleaseenterthen:
p=num;
*(p+i)=i+1;
i=0;
k=0;
m=0;
while(m<
n-1)
{if(*(p+i)!
=0)
k++;
if(k==5)
{*(p+i)=0;
k=0;
m++;
i++;
if(i==n)i=0;
while(*p==0)p++;
test1-2.dat"
%dnumberisalastont.\n"
*p);
第十九次等级考试
二级(C和C++语言)上机考试试卷(第二套)参考答案
一、程序调试题(文件名为test2-1.c)(40分)
string.h>
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++;
{chars[100],t1[100],t2[100],w[100];
\nPleaseenterstrings:
%s"
s);
\nPleaseentersubstringt1:
t1);
\nPleaseentersubstringt2:
t2);
if(strlen(t1)==strlen(t2))
{fun(s,t1,t2,w);
\nTheresultis:
%s\n"
w);
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分
voidfun(char*st)
{char*p=st;
inti=0;
while(*p)
{if((i%2)&
(*p>
='
a'
&
*p<
z'
))*p-=32;
p++;
voidmain(intargc,char*argv[])
{chartt[51];
FILE*wf;
if(argc!
=2)
\nToofewparameter!
exit(0);
wf=fopen(argv[1],"
Pleaseenterancharachterstringwithin50characters:
gets(tt);
fun(tt);
puts(tt);
fprintf(wf,"
t=%s"
tt);
fclose(wf);
二级(C和C++语言)上机考试试卷(第三套)参考答案
一、程序调试题(文件名为test3-1.c)(40分)
#include"
stdio.h"
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*/
{charstr1[100],str2[100],*add;
Inputastring:
gets(str1);
\nInputthestringdoyouwanttoinsert:
gets(str2);
add=insert(str1,str2);
outputis:
add);
每改对一处得5分,结果正确得10分。
二、编写程序(程序文件取名为test3-2.c)(60分)
1.字符串输入正确5分2.函数及函数调用正确10分
3.替换位置定义正确10分4.字符串替换正确15分
5.屏幕上显示结果正确5分6.文件打开、关闭正确5分
7.文件写入正确5分8.返回结果正确5分
char*strrep(char*s1,char*s2,intn)
{char*p,*q;
p=s1+n;
q=s2;
while(*q)*p++=*q++;
*p='
returns1;
{chara[100],b[100],*str;
intn,len;
test3-2.dat"
Inputstringaandb:
gets(a);
gets(b);
len=strlen(a);
Inputnumber:
if((n>
=0)&
=len))
{str=strrep(a,b,n);
Outputis:
str);
else
nvalueiserror.\n"
第二十次等级考试
二级(C和C++语言)上机考试试卷(第一套)参考答案
#include<
intlen_max(char*strp)
{intmax=0,len=0;
while(strp!
{while((*strp>
A'
*strp<
Z'
)&
(*strp>
))/*改为||*/
{len++;
/*增加一行语句:
strp++;
*/
}
if(len<
max)max=len;
/*改为len>
max*/
len=0;
strp++;
return;
/*改为returnmax*/
{charstr[100];
intmaxlen;
printf("
Inputasentence:
gets(str);
maxlen=len_max(&
str);
/*改为str*/
maxlen=%d\n"
maxlen);
1.文件打开、关闭正确2.屏幕结果输出正确
3.文件结果输出正确4.函数定义、形参书写正确
5.正确定义实参二维数组,并能正确调用creat函数6.函数中对二维数组的处理正确
voidcreat(inta[10][10],intn)
{inti,j;
=i;
a[i][j]=i*4+j*2+1;
{inta[10][10],m,i,j;
Inputm(1~10):
m);
creat(a,m);
%5d"
第二十次等级考试
二级(C与C++语言)上机考试试卷(第二套)参考答案
voidfun(intm,chars)/*改为*s*/
{intk,i=10;
while(m!
=0)
{k=m/i;
/*改为m%i*/
*s=k+"
0"
/*改为'
*/
s++;
m=(m-k)/i;
/*增加一行内容:
*s='
{intx,i;
chars[10];
&
x);
if(x>
{fun(x,s);
for(i=0;
s;
i++)/*改为s[i]*/
%c*"
s[i]);
xvalueerror\n"
1.文件打开和关闭正确2.串的读入正确
3.串的排序正确4.文件位置指针定位正确
5.屏幕输出和文件输出正确6.程序结构合理
{charstr[3][80],string[80];
inti,j,k;
test2-2.txt"
r+"
3;
fgets(str[i],80,fp);
Thestrings:
str[i]);
2;
{k=i;
for(j=i+1;
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);
Sortedresult:
fseek(fp,0,2);
二级(C与C++语言)上机考试试卷(第三套)参考答案
#defineM2
#defineN3
#defineP2
voidfun(inta[M][N],b[N][P],c[M][P])/*改为intb[N][P],intc[M][P]*/
{inti,j,k;
=P;
i++)/*改为i<
P*/
P;
{c[i][j]=0;
for(k=0;
k++)/*改为k<
N*/
c[i][j]=a[i][k]*b[k][j];
/*改为+=*/
{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)*/
%d"
c[i][j]);
1.文件打开和关闭正确2.函数定义、调用和参数使用正确
3.屏幕输出和文件输出正确4.递归调用方法正确
5.命令行参数使用正确6.程序结构合理
intfun(intn)
{intf;
if(n<
1)return0;
elseif(n==1)f=1;
elsef=fun(n-1)+n;
returnf;
main(intargc,char*argv[])
{intsum,n;
Error!
fp=fopen(argv[1],"
Inputn:
"
sum=fun(n);
1+2+...+%d=%d\n"
n,sum);
第二十一次等级考试
二级(C与C++语言)上机考试试卷(第一套)参考答案
char*fun(charstr)/*改为*str*/
{inti;
for(i=0;
str;
i++)/*改为str[i]*/
if(('
<
=str[i])||(str[i]<
))/*改为&
str[i]+=32;
/*改为-=*/
return*str;
/*改为str*/
{
charstr[81];
\nPleaseenterastring:
gets(str[81]);
\nTheresultstringis:
\n%s"
fun(str));
每改对1处得5分,结果正确得10分。
1.被调函数编写正确20分2.文件打开、数据读入正确和定位正确10分
3.函数调用正确5分4.屏幕输出和文件输出正确20分
5.程序结构合理5分
math.h>
intprime(inta[],intn)
{inti,j,k=0,flag=0;
{for(j=2;
a[i];
if(a[i]%j==0)
{flag=0;
elseflag=1;
if(flag)
a[k++]=a[i];
returnk;
{intn,i,a[10];
f
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 四川省 计算机 二级 C+ 试题 参考答案 1824