四川省第三十次等级考试二级C与C++语言 机试试题 参考答案
(2009年4月19日)
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
int i,a[MAX],b[MAX],cnt=0; int num(int a[],int b[]); for(i=0;i printf(\ for(i=0;i printf(\} int num(int a[],int b[]) { int bb[4],cnt=0,i,j,k,flag; for(i=0;i bb[0]=a[i]/1000; bb[1]=a[i]00/100; bb[2]=a[i]0/10; bb[3]=a[i]; for(j=0;j<4;j++) { if(bb[j]%2==0) flag=1; else { flag=0; break; } 第 5 页 共 15 页 四川省第三十次等级考试二级C与C++语言 机试试题 参考答案 (2009年4月19日) } if(flag==1) b[cnt++]=a[i]; } return cnt; } 30-4套 参考答案: 一、程序调试题(文件名为 test4-1.c)( 40 分 ) # include FILE *fp; int num=0,digit=0; char ch; if((fp=fopen(\w\ /* 改为: r */ { printf(\ 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(\} 评分标准:每改对一处得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 页 共 15 页 四川省第三十次等级考试二级C与C++语言 机试试题 参考答案 (2009年4月19日) void sort(char *name[]); char *name[]={\ int i; sort(name); for(i=0;i printf(\} void sort(char *name[]) { char *temp; int i,j,k; for(i=0;i<=N-1;i++) { k=i; for(j=i+1;j if(strcmp(name[k],name[j])>0) k=j; if(k!=i) { temp=name[i]; name[i]=name[k]; name[k]=temp; } } } 第 7 页 共 15 页 四川省第三十次等级考试二级C与C++语言 机试试题 参考答案 (2009年4月19日) 29-1套 参考答案: 一、程序调试题(文件名为 test1-1.c)( 40 分 ) # include void fun(char (*ss)[N]) { int i,j,k=0,n,m,len; for(i=0;i if(i=0) n=len; /* 改为:i==0 */ if(len for(i=0;i { m=n;len=strlen(ss); /* 改为:ss[i] */ for(j=len;j>=0;j--) ss[i][m--]=ss[i][j]; for(j=0;j void main() { char ss[M][N]; int i; FILE *fp; fp=fopen(\ if(fp==NULL) { printf(\ exit(0); } for(i=0;i fscanf(\); /* 改为:fp, \ printf(\ for(i=0;i printf(\ printf(\ fun(ss); for(i=0;i printf(\ fclose(fp); } 第 8 页 共 15 页 */

