四川省二级c语言29次机试试题及答案(3)

2019-04-09 10:03

四川省第二十九次计算机二级考试C与C++语言 机试试题(2008年10月19日)

printf(\ scanf(\ n2=fun(); /* 改为:n2=fun(n1) */ printf(\

fprintf(fp,\ fclose(fp); }

评分标准:每改对一处得8分

二、编程题(程序文件取名为 test2-2.c)(60分) 评分标准:

1. fun函数编写40分 1)函数定义、形参书写正确 10分 2)能正确将字符数组a复制到字符数组c 10分 3)能正确将字符数组b复制到字符数组c 10分 4)c[k]=’\\0’ 10分 参考程序:

# include # include

void fun(char *a,char *b,char *c) {

int i,j,k;

for(i=0;a[i]!='\\0';i++) c[i]=a[i];

for(k=i,j=strlen(b)-1;j>=0;k++,j--) c[k]=b[j]; c[k]='\\0'; }

void main() {

char a[50],b[50],c[100]; printf(\ gets(a);

printf(\ gets(b); fun(a,b,c);

printf(\}

29-3套 参考答案:

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

# include void fun(int a[],int n) {

int i,j=0,b[20]; for(i=0;i=0)

第 11 页 共 16 页

2. main函数20分 1)能正确字义数组,并能对字符串进 行正确的输入和输出 10分 2)能正确调用fun函数 10分 四川省第二十九次计算机二级考试C与C++语言 机试试题(2008年10月19日)

b[j]=a[i]; /* 改为:j++ */ for(i=0;i0) /* 改为:< */ b[j++]=a[i]; for(i=0;i

void main() {

int a[10],i;

char filename[20]; FILE *fp;

printf(\ scanf(\%c\ /* 改为:%s */ if((fp=fopen(filename,\ printf(\ exit(0); }

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

fscanf(fp,\a[i]); /* 改为:&a[i] */ fun(a,10);

for(i=0;i<10;i++) printf(\a+i); /* 改为:a[i] */ fclose(fp); }

评分标准:每改对一处得8分

二、编程题(程序文件取名为 test3-2.c)(60分) 评分标准:

1.fun函数编写40分:

1) 函数定义、形参书写正确 10分 2) 能正确处理n大于s的长度的情况 10分 3) 能正确处理n小于s的长度的情况 10分 4) t[j]=’\\0’ 10分 2.main函数20分:

1) 能正确定义数组,并能正确进行输入输出 10分 2) 能正确调用函数 10分 参考程序:

# include # include

void fun(char *s,char *t,int n) {

int i,j,k; k=strlen(s); if(n>=k)

{ for(i=0;s[i]!='\\0';i++) t[i]=s[i];

第 12 页 共 16 页

四川省第二十九次计算机二级考试C与C++语言 机试试题(2008年10月19日)

t[i]='\\0'; } else

{ for(i=k-n,j=0;s[i]!='\\0';i++,j++) t[j]=s[i]; t[j]='\\0'; } }

void main() {

char s[80],t[80]; int i,n;

printf(\ gets(s);

printf(\ scanf(\ fun(s,t,n);

printf(\ puts(t); }

29-4套 参考答案:

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

# include \# define N =3 /* 改为: 3 */ int fun(int a[][N],n) /* 改为:int n */ {

int i,j;

for(i=0;i=j)

a[i][j]=*n; /* 改为:*= */ }

main() {

int a[N][N],n,i,j; FILE *fp;

for(i=0;i

printf(\ } do

n=rand(); while(n<=3) /* 改为:(n<=3); */

第 13 页 共 16 页

四川省第二十九次计算机二级考试C与C++语言 机试试题(2008年10月19日)

printf(\ fun(a,n);

fp=fopen(\ if(fp==NULL)

{ printf(\ exit(0); }

for(i=0;i

{ printf(\ fprintf(fp,\ }

printf(\ }

fclose(fp); }

评分标准:每改对一处得8分

二、编程题(程序文件取名为 test4-2.c)(60分) 评分标准:

1.fun函数编写20分:

1) 函数定义、形参书写正确 10分 2) for循环书写正确 10分 2.main函数40分:

1) 字符串输入和输出正确 5分 2) 字符串的长度计算准确 10分 3) 字符串前导*号个数计算准确 10分 4) 字符串尾部*号个数计算准确 10分 5) 函数调用参数传递正确 5分

参考程序:

# include

void fun(char *a,int n,int h ,int e) { int i,j=0;

for(i=h;i

void main()

{ char s[81],*t,*f; int m=0,tn=0,fn=0;

printf(\ gets(s); t=f=s;

while(*t) {t++; m++; } t--;

while(*t=='*') { t--; tn++; }

第 14 页 共 16 页

四川省第二十九次计算机二级考试C与C++语言 机试试题(2008年10月19日)

while(*f=='*') { f++; fn++; } fun(s,m,fn,tn);

printf(The string after deleted:\\n); puts(s); }

29-5套 参考答案:

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

# include

void fun(double a,b,*x,*y) /* 改为:double b, double *x, double *y */ { x=a*b; y=a/b; /* 改为:*x=a*b; *y=a/b; */ } io() { int i;

double a,b,c,d; file *rf,*wf; /* 改为:FILE */ rf=fopen(\ wf=fopen(\ fscanf(rf,\ fun(a,b,c,d); /* 改为:fun( a , b , &c , &d ) */

fprintf(\/* 改为:fprintf ( wf , \ */ printf(\; fclose(rf); fclose(wf); }

void main() {

double a,b,c,d; clrscr(); io(); }

评分标准:每改对一处得8分

二、编程题(程序文件取名为 test5-2.c)(60分) 评分标准:

1.convert函数25分

1) 函数定义(参数)正确 10分 2) 转置正确 15分 2.main函数35分

1) 二维数组定义正确 5分 2) 数据输入正确 10分 3) 函数调用参数传递正确 10分 4) 结果输出正确 10分

参考程序:

# include

void convert(int a[][4],int b[][3]) {

第 15 页 共 16 页

四川省第二十九次计算机二级考试C与C++语言 机试试题(2008年10月19日)

int i,j;

for(i=0;i<3;i++) for(j=0;j<4;j++) b[j][i]=a[i][j]; }

void main() {

int a[3][4],b[4][3]; int i,j;

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

scanf(\ convert(a,b); for(i=0;i<4;i++) { for(j=0;j<3;j++)

printf(\ printf(\ } } 第 16 页 共 16 页


四川省二级c语言29次机试试题及答案(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:中国美术史学习笔记整理(完整版)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: