您好,欢迎来到微智科技网。
搜索
您的当前位置:首页四川省计算机二级C语言30次笔试和机试试题_参

四川省计算机二级C语言30次笔试和机试试题_参

来源:微智科技网
四川省第二十九次等级考试二级C与C++语言 机试试题 参

(2008年10月19日)

四川省计算机二级C语言30次 笔试和机试试题_参

30-1套 参:

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

# include # define N 4

void fun(int a[][N]) {

int i,t;

for(i=0;ia[i][i]=a[i][N-i]; /* 改为:n-i-1 */ a[i][N-i]=t; /* 改为:n-i-1 */ } }

void main() {

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

fp=fopen(\"test1-1.dat\ if(fp==NULL)

{ printf(\"test1-1.dat can not open.\\n\"); exit(0); }

for(i=0;ifscanf(\"%d\); /* 改为:fp,”%d”,&a[i][j] */ fclose(fp); fun( ); /* 改为:fun(a) */ printf(\"output:\\n\"); for(i=0;iprintf(\"%5d\&a[i][j]); /* 改为:a[i][j] */ printf(\"\\n\"); } }

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

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

1.fun函数编写40分。其中: 2. main函数20分。其中: 1)函数定义、形参书写正确(5分) 1)正确定义各种变量,能正确按行进行输出(10分) 2)数组前两项赋值正确(5分) 2)能正确调用fun函数(10分) 3)for循环正确(10分) 4)奇数下标项计算正确(10分)

第 1 页 共 7 页

四川省第二十九次等级考试二级C与C++语言 机试试题 参

(2008年10月19日)

5)偶数下标项计算正确(10分) 参考程序:

# include # include # define N 20 void fun(int *a) {

int i; a[0]=1; a[1]=2;

for(i=2;ia[i]=(int)abs(a[i-1]-a[i-2]); else

a[i]=a[i-1]+a[i-2]; }

void main() {

int a[N]; fun(a);

printf(\"Output:\\n\"); for(i=0;iif((i+1)%4==0) printf(\"\\n\"); } }

30-2套 参:

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

# include \"stdio.h\" void main() {

int i;

FILE *fp; /*增行: void itoa(int); fp=fopen(\"test2-1.dat\ if(fp==NULL)

{ printf(\"test2-1.dat can not open.\\n\"); exit(0); }

fscanf(fp,\"%d\ itoa(i); fclose(); /* 改为:fclose(fp) */ }

void itoa(int k) { int n=0;

char ch1,ch2,ch3,ch4,ch5;

第 2 页 共 7 页

*/ 四川省第二十九次等级考试二级C与C++语言 机试试题 参

(2008年10月19日)

ch5=k%10000; /* 改为:ch5=k/10000 */ if(ch5>0) n++; ch5+='0';

ch4=(k%10000)/1000; if(ch4>0) n++; ch4+='0';

ch3=(k%1000)/100; if(ch3>0) n++; ch3+='0';

ch2=(k%100)/10; if(ch2>0) n++; ch2+='0';

ch1=k%10/10; /* 改为:k%10 n++; ch1+='0'; switch ( k ) /* 改为:n */ { case 5: printf(\"%c\ case 4: printf(\"%c\ case 3: printf(\"%c\ case 2: printf(\"%c\ case 1: printf(\"%c\ } }

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

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

1.正确书写程序格式,正确定义各种变量(5分) 2.循环参数正确(20分)

3.判断字符是否相同的条件正确(5分) 4.正确删除字符(20分)

5.字符串输入输出正确(10分) 参考程序:

# include # define N 80 void main() {

char str1[N],str2[N]; int i,j,k;

int len1,len2;

printf(\"Please input str1:\"); gets(str1);

len1=strlen(str1);

printf(\"Please input str2:\"); gets(str2);

len2=strlen(str2); i=0;

第 3 页 共 7 页

*/ 四川省第二十九次等级考试二级C与C++语言 机试试题 参

(2008年10月19日)

while(str2[i]!='\\0') {

for(j=0;jfor(k=i;kif(j==len1) i++; }

printf(\"After processing:\\n\"); printf(\"str1: \"); puts(str1); printf(\"str2: \"); puts(str2); }

30-3套 参:

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

# include \"stdio.h\" void rev(void); FILE *f1,*f2;

void main(int argc,char *argv[]) {

char ch; if(argc>3) { printf(\"paramelers missing!\\n\"); exit(0); }

if((f1=fopen(*argv[1],\"w\"))==NULL) { printf(\"Can not open file1!\\n\"); exit(0); }

if((fp=fopen(argv[2],\"r\"))==NULL) { printf(\"Can not open file2!\\n\"); exit(0); }

while(!feof(f2)) { void rev(); fputc('\\n',f1); }

fclose(f1); fclose(f2);

/* 增加:; */

/* 改为:< */

/* 改为:argv[1] */

/* 改为:rev( ) */

第 4 页 共 7 页

四川省第二十九次等级考试二级C与C++语言 机试试题 参

(2008年10月19日)

}

void rev(void) {

char c;

if((!feof(f2)) || ((c=fgetc(f2))!='\\n')) /* 改为:&& */ { rev();

fputc(c,f1); } }

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

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

1.num函数编写40分。其中:

1) 函数定义、形参书写正确 10分 2) 取各位数正确 10分 3) 各位数判断正确 10分 4) return正确 10分 2.main函数20分。其中:

1) 正确定义各种变量,输入输出正确 10分 2) 能正确调用num函数 10分 参考程序:

# include # define MAX 5 void main() {

int i,a[MAX],b[MAX],cnt=0; int num(int a[],int b[]); for(i=0;iprintf(\"cnt=%d\\n\ for(i=0;iprintf(\"%d:%d\\n\}

int num(int a[],int b[]) {

int bb[4],cnt=0,i,j,k,flag; for(i=0;ibb[0]=a[i]/1000;

bb[1]=a[i]%1000/100; bb[2]=a[i]%100/10; bb[3]=a[i]%10; for(j=0;j<4;j++) { if(bb[j]%2==0) flag=1;

第 5 页 共 7 页

四川省第二十九次等级考试二级C与C++语言 机试试题 参

(2008年10月19日)

else

{ flag=0; break; } }

if(flag==1)

b[cnt++]=a[i]; }

return cnt; }

30-4套 参:

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

# include void main() {

FILE *fp;

int num=0,digit=0; char ch;

if((fp=fopen(\"test4-1.dat\w\"))==NULL) /* 改为: r */ { printf(\"Cannot open the file!\\n\"); exit(0); }

while(feof(fp)) /* 改为: !feof(fp) */ {

fgetc(fp); /* 改为: ch=fgetc(fp) */ if(ch<='z'&&ch>='a'|| ch<='Z'&&ch>='A') num++;

if(ch<=9&&ch>=0) /* 改为:'9' '0' */ digit++; }

fclose(); /* 改为:fclose(fp) */ printf(\"The numbersof letters: %d\\nThe numbers of numbers:%d\\n\}

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

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

1.sort函数编写40分。其中: 1) 函数定义、形参书写正确 10分 2) strcmp使用正确 10分 3) 排序正确 20分 2.main函数20分。其中:

1) 正确定义各种变量,输入输出正确 10分 2) 能正确调用sort函数 10分

参考程序:

# include

第 6 页 共 7 页

四川省第二十九次等级考试二级C与C++语言 机试试题 参

(2008年10月19日)

# include # define N 5 void main() {

void sort(char *name[]);

char *name[]={\"China\ int i;

sort(name);

for(i=0;iprintf(\"%s\\n\}

void sort(char *name[]) {

char *temp; int i,j,k;

for(i=0;i<=N-1;i++) { k=i;

for(j=i+1;jif(strcmp(name[k],name[j])>0) k=j; if(k!=i)

{ temp=name[i]; name[i]=name[k]; name[k]=temp; } } }

第 7 页 共 7 页

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 7swz.com 版权所有 赣ICP备2024042798号-8

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务