四川省计算机二级(C与C++)机试题参考答案18~24次)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
# include <string.h>
char *strrep(char *s1,char *s2,int n)
{ char *p,*q;
p=s1+n;
q=s2;
while(*q) *p++=*q++;
*p='\0';
return s1;
}
main()
{ char a[100],b[100],*str;
place=w;
w++;
}
if(place!=NULL)
{ r=t2;
while(&r)/*改为*r*/
*place=*r,place++,r++;
}
}
main()
{ char s[100],t1[100],t2[100],w[100];
printf("\nPlease enter string s:");
}
return;/*改为return max*/
}
void main()
{char str[100];
int maxlen;
printf("Input a sentence:\n");
gets(str);
maxlen=len_max(&str);/*改为str*/
printf("maxlen=%d\n",maxlen);
}
i++;
if(i==n) i=0;
}
while(*p==0) p++;
fp=fopen("test1-2.dat","w");
printf("%d number is a last ont.\n",*p);
fprintf(fp,"%d number is a last ont.\n",*p);
fclose(fp);
四川省普通高等学校计算机应用知识和能力
第十八次等级考试
二级(C语言)上机考试试卷(第一套)参考答案
一、程序调试题(文件名为test1-1.c)(40分)
# include <stdio.h>
# include <conio.h>
int fun(int m);/*去掉分号(;)*/
{ intsum,n=0,j,yes;/*改为sum=0*/
printf("\nThe result is:%s\n",w);
}
else printf("Error:strlen(t1)!=strlen(t2)\n");
}
评分标准:每改对一处得6分,结果正确得10分。
二、编写程序(程序文件取名为test2-2.c)(60分)
评分标准:
1.文件打开、关闭正确10分2.屏幕结果输出正确5分
printf("The result is :%ld\n",t);
}
else printf("s value error.\n");
}
评分标准:每改对一处得6分,第二处有两个错误,结果正确得10分。
二、编写程序(程序文件取名为test1-2.c)(60分)
评分标准:
1.文件打开、关闭正确10分2.屏幕结果输出正确5分
3.文件结果输出正确5分4.数据输入方法正确5分
5.排号正确5分6.数据初始化正确5分
7.数据处理正确20分8.找出结果正确5分
参考程序:
# include <stdio.h>
# define nmax 50
void main()
{ int i,k,m,n,num[nmax],*p;
FILE *fp;
{ s=s/100;
t=s%10*s1+t;/*改为*t=s%10*s1+*t*/
s1=s1*100;/*改为s1=s1*10*/
}
}
void main()
{ long s,t;
printf("\nPlease enter integer s:");
scanf("%ld",&s);
if(s>0)
{ fun(s,&t);
for(j=0;j<m;j++)
for(k=0;k<m;k++)
a[j][k]=(k+1)*(j+1);
}
main()
{ int i,j,n;
FILE *fp;
fp=fopen("test1-2.txt","w");
clrscr();
printf("Enter n:");
scanf("%d",&n);
第十九次等级考试
二级(C和C++语言)上机考试试卷(第一套)参考答案
一、程序调试题(文件名为test1-1.c)(40分)
# include <stdio.h>
void fun(long s,long t)/*改为long *t*/
{ long s1=10;
*t=s%10;
while(s>o);/*改为while(s>0)*/
int n,len;
FILE *fp;
fp=fopen("test3-2.dat","w");
printf("Input string a and b:\n");
gets(a);
gets(b);
len=strlen(a);
printf("Input number:");
scanf("%d",&n);
{ int len1,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')
}
四川省普通高等学校计算机应用知识和能力
第十九次等级考试
二级(C和C++语言)上机考试试卷(第三套)参考答案
一、程序调试题(文件名为test3-1.c)(40分)
# include "stdio.h"
# include "string.h"
char *insert(char *s1,char *s2)
}
main()
{ int m;
clrscr();
scanf("%d",m);/*改为&m*/
printf("%d\n",fun(m));
}
评分标准:每改对一处得5分,运行结果正确得5分。
二、编写程序(程序文件取名为test1-2.c)(60分)
评分标准:
1.文件打开与关闭正确10分2.文件读写正确10分
printf("Please enter the n:");
scanf("%d",&n);
p=num;
for(i=0;i<n;i++)
*(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++;
}
fclose(fp);
}
四川省普通高等学校计算机应用知识和能力
第二十次等级考试
二级(C和C++语言)上机考试试卷(第一套)参考答案
一、程序调试题(文件名为test1-1.c)(40分)
#include <stdio.h>
int len_max(char *strp)
{int max=0,len=0;
if((n>=0)&&(n<=len))
{ str=strrep(a,b,n);
printf("Output is :%s\n",str);
fprintf(fp,"Output is :%s\n",str);
}
else
{ printf("n value is error.\n");
fprintf(fp,"n value is error.\n");
}
二、编写程序(程序文件取名为test1-2.c)(60分)
评分标准:
1.文件打开、关闭正确2.屏幕结果输出正确
3.文件结果输出正确4.函数定义、形参书写正确
5.正确定义实参二维数组,并能正确调用creat函数6.函数中对二维数组的处理正确
while(strp!='\0')
{while((*strp>='A'&&*strp<='Z')&&(*strp>='a'&&*strp<='z'))/*改为||*/
{len++;/*增加一行语句:strp++;*/
}
if(len<max) max=len;/*改为len>max*/
len=0;
strp++;
{ if((i%2)&&(*p>='a' && *p<='z')) *p-=32;
p++; i++;
}
}
void main(int argc,char *argv[])
{ char tt[51];
FILE *wf;
if(argc!=2)
{ printf("\nToo few parameter!\n");
for(;p>=s1;p++)/*改为p--*/
*(p+len2)=*p;
while(*s2)
*s1++=*s2++;
*(q+len1+len2)='\0';
return p;/*改为return q*/
}
void main()
{ char str1[100],str2[100],*add;
printf("Input a string:\n");
{ 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'*/
3.函数及函数调用正确20分4.屏幕上显示结果正确10分
5.Test1-2.txt中结果正确10分
参考程序:
# include <stdio.h>
# include <conio.h>
# define M 10
int a[M][M]={0};
fm(int a[][M],int m)
{ int j,k;
二、编写程序(程序文件取名为test3-2.c)(60分)
评分标准:
1.字符串输入正确5分2.函数及函数调用正确10分
3.替换位置定义正确10分4.字符串替换正确15分
5.屏幕上显示结果正确5分6.文件打开、关闭正确5分
7.文件写入正确5分8.返回结果正确5分
参考程序:
# include <stdio.h>
}
四川省普通高等学校计算机应用知识和能力
第十九次等级考试
二级(C和C++语言)上机考试试卷(第二套)参考答案
一、程序调试题(文件名为test2-1.c)(40分)
# include <stdio.h>
# include <string.h>
void fun(char *s,char *t1,char *t2,char *w)
scanf("%s",s);
printf("\nPlease enter substring t1:");
scanf("%s",t1);
printf("\nPlease enter substring t2:");
scanf("%s",t2);
if(strlen(t1)==strlen(t2))
{ fun(s,t1,t2,w);
fm(a,n);
for(i=0;i<n;i++)
{ for(j=0;j<n;j++)
{ printf("%4d",a[i][j]);
fprintf(fp,"%4d",a[i][j]);
}
printf("\n");
fprintf(fp,"\n");
}
fclose(fp);
}
四川省普通高等学校计算机应用知识和能力
exit(0);
}
wf=fopen(argv[1],"w");
printf("Please enter an charachter string within 50 characters:\n");
gets(tt);
fun(tt);
puts(tt);
fprintf(wf,"t=%s",tt);
fclose(wf);
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;
}Baidu Nhomakorabea
if(yes=1)/*改为yes==1*/
{ sum+=m; n++;
m--;
}
}
return;/*改为return sum*/
gets(str1);
printf("\nInput the string do you want to insert:\n");
gets(str2);
add=insert(str1,str2);
printf("output is :%s\n",add);
}
评分标准:每改对一处得5分,结果正确得10分。
3.文件结果输出正确5分4.数据输入方法正确5分
5.函数调用和函数参数定义方法正确10分6.下标为奇数位置的判断正确10分
7.字母转换正确10分8.命令行参数使用正确5分
参考程序:
# include <stdio.h>
void fun(char *st)
{ char *p=st;
int i=0;
while(*p)
char *strrep(char *s1,char *s2,int n)
{ char *p,*q;
p=s1+n;
q=s2;
while(*q) *p++=*q++;
*p='\0';
return s1;
}
main()
{ char a[100],b[100],*str;
place=w;
w++;
}
if(place!=NULL)
{ r=t2;
while(&r)/*改为*r*/
*place=*r,place++,r++;
}
}
main()
{ char s[100],t1[100],t2[100],w[100];
printf("\nPlease enter string s:");
}
return;/*改为return max*/
}
void main()
{char str[100];
int maxlen;
printf("Input a sentence:\n");
gets(str);
maxlen=len_max(&str);/*改为str*/
printf("maxlen=%d\n",maxlen);
}
i++;
if(i==n) i=0;
}
while(*p==0) p++;
fp=fopen("test1-2.dat","w");
printf("%d number is a last ont.\n",*p);
fprintf(fp,"%d number is a last ont.\n",*p);
fclose(fp);
四川省普通高等学校计算机应用知识和能力
第十八次等级考试
二级(C语言)上机考试试卷(第一套)参考答案
一、程序调试题(文件名为test1-1.c)(40分)
# include <stdio.h>
# include <conio.h>
int fun(int m);/*去掉分号(;)*/
{ intsum,n=0,j,yes;/*改为sum=0*/
printf("\nThe result is:%s\n",w);
}
else printf("Error:strlen(t1)!=strlen(t2)\n");
}
评分标准:每改对一处得6分,结果正确得10分。
二、编写程序(程序文件取名为test2-2.c)(60分)
评分标准:
1.文件打开、关闭正确10分2.屏幕结果输出正确5分
printf("The result is :%ld\n",t);
}
else printf("s value error.\n");
}
评分标准:每改对一处得6分,第二处有两个错误,结果正确得10分。
二、编写程序(程序文件取名为test1-2.c)(60分)
评分标准:
1.文件打开、关闭正确10分2.屏幕结果输出正确5分
3.文件结果输出正确5分4.数据输入方法正确5分
5.排号正确5分6.数据初始化正确5分
7.数据处理正确20分8.找出结果正确5分
参考程序:
# include <stdio.h>
# define nmax 50
void main()
{ int i,k,m,n,num[nmax],*p;
FILE *fp;
{ s=s/100;
t=s%10*s1+t;/*改为*t=s%10*s1+*t*/
s1=s1*100;/*改为s1=s1*10*/
}
}
void main()
{ long s,t;
printf("\nPlease enter integer s:");
scanf("%ld",&s);
if(s>0)
{ fun(s,&t);
for(j=0;j<m;j++)
for(k=0;k<m;k++)
a[j][k]=(k+1)*(j+1);
}
main()
{ int i,j,n;
FILE *fp;
fp=fopen("test1-2.txt","w");
clrscr();
printf("Enter n:");
scanf("%d",&n);
第十九次等级考试
二级(C和C++语言)上机考试试卷(第一套)参考答案
一、程序调试题(文件名为test1-1.c)(40分)
# include <stdio.h>
void fun(long s,long t)/*改为long *t*/
{ long s1=10;
*t=s%10;
while(s>o);/*改为while(s>0)*/
int n,len;
FILE *fp;
fp=fopen("test3-2.dat","w");
printf("Input string a and b:\n");
gets(a);
gets(b);
len=strlen(a);
printf("Input number:");
scanf("%d",&n);
{ int len1,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')
}
四川省普通高等学校计算机应用知识和能力
第十九次等级考试
二级(C和C++语言)上机考试试卷(第三套)参考答案
一、程序调试题(文件名为test3-1.c)(40分)
# include "stdio.h"
# include "string.h"
char *insert(char *s1,char *s2)
}
main()
{ int m;
clrscr();
scanf("%d",m);/*改为&m*/
printf("%d\n",fun(m));
}
评分标准:每改对一处得5分,运行结果正确得5分。
二、编写程序(程序文件取名为test1-2.c)(60分)
评分标准:
1.文件打开与关闭正确10分2.文件读写正确10分
printf("Please enter the n:");
scanf("%d",&n);
p=num;
for(i=0;i<n;i++)
*(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++;
}
fclose(fp);
}
四川省普通高等学校计算机应用知识和能力
第二十次等级考试
二级(C和C++语言)上机考试试卷(第一套)参考答案
一、程序调试题(文件名为test1-1.c)(40分)
#include <stdio.h>
int len_max(char *strp)
{int max=0,len=0;
if((n>=0)&&(n<=len))
{ str=strrep(a,b,n);
printf("Output is :%s\n",str);
fprintf(fp,"Output is :%s\n",str);
}
else
{ printf("n value is error.\n");
fprintf(fp,"n value is error.\n");
}
二、编写程序(程序文件取名为test1-2.c)(60分)
评分标准:
1.文件打开、关闭正确2.屏幕结果输出正确
3.文件结果输出正确4.函数定义、形参书写正确
5.正确定义实参二维数组,并能正确调用creat函数6.函数中对二维数组的处理正确
while(strp!='\0')
{while((*strp>='A'&&*strp<='Z')&&(*strp>='a'&&*strp<='z'))/*改为||*/
{len++;/*增加一行语句:strp++;*/
}
if(len<max) max=len;/*改为len>max*/
len=0;
strp++;
{ if((i%2)&&(*p>='a' && *p<='z')) *p-=32;
p++; i++;
}
}
void main(int argc,char *argv[])
{ char tt[51];
FILE *wf;
if(argc!=2)
{ printf("\nToo few parameter!\n");
for(;p>=s1;p++)/*改为p--*/
*(p+len2)=*p;
while(*s2)
*s1++=*s2++;
*(q+len1+len2)='\0';
return p;/*改为return q*/
}
void main()
{ char str1[100],str2[100],*add;
printf("Input a string:\n");
{ 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'*/
3.函数及函数调用正确20分4.屏幕上显示结果正确10分
5.Test1-2.txt中结果正确10分
参考程序:
# include <stdio.h>
# include <conio.h>
# define M 10
int a[M][M]={0};
fm(int a[][M],int m)
{ int j,k;
二、编写程序(程序文件取名为test3-2.c)(60分)
评分标准:
1.字符串输入正确5分2.函数及函数调用正确10分
3.替换位置定义正确10分4.字符串替换正确15分
5.屏幕上显示结果正确5分6.文件打开、关闭正确5分
7.文件写入正确5分8.返回结果正确5分
参考程序:
# include <stdio.h>
}
四川省普通高等学校计算机应用知识和能力
第十九次等级考试
二级(C和C++语言)上机考试试卷(第二套)参考答案
一、程序调试题(文件名为test2-1.c)(40分)
# include <stdio.h>
# include <string.h>
void fun(char *s,char *t1,char *t2,char *w)
scanf("%s",s);
printf("\nPlease enter substring t1:");
scanf("%s",t1);
printf("\nPlease enter substring t2:");
scanf("%s",t2);
if(strlen(t1)==strlen(t2))
{ fun(s,t1,t2,w);
fm(a,n);
for(i=0;i<n;i++)
{ for(j=0;j<n;j++)
{ printf("%4d",a[i][j]);
fprintf(fp,"%4d",a[i][j]);
}
printf("\n");
fprintf(fp,"\n");
}
fclose(fp);
}
四川省普通高等学校计算机应用知识和能力
exit(0);
}
wf=fopen(argv[1],"w");
printf("Please enter an charachter string within 50 characters:\n");
gets(tt);
fun(tt);
puts(tt);
fprintf(wf,"t=%s",tt);
fclose(wf);
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;
}Baidu Nhomakorabea
if(yes=1)/*改为yes==1*/
{ sum+=m; n++;
m--;
}
}
return;/*改为return sum*/
gets(str1);
printf("\nInput the string do you want to insert:\n");
gets(str2);
add=insert(str1,str2);
printf("output is :%s\n",add);
}
评分标准:每改对一处得5分,结果正确得10分。
3.文件结果输出正确5分4.数据输入方法正确5分
5.函数调用和函数参数定义方法正确10分6.下标为奇数位置的判断正确10分
7.字母转换正确10分8.命令行参数使用正确5分
参考程序:
# include <stdio.h>
void fun(char *st)
{ char *p=st;
int i=0;
while(*p)