四川省计算机二级(C语言)30,29次机试试题及其参考答案

2026/4/29 14:42:56

四川省第三十次等级考试二级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 # define MAX 5 void main() {

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 void main() {

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 # include # define N 5 void main() {

第 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 # include # define M 5 # define N 20

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(lenn */ { n=len; k=i; } }

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 页

*/


四川省计算机二级(C语言)30,29次机试试题及其参考答案.doc 将本文的Word文档下载到电脑
搜索更多关于: 四川省计算机二级(C语言)30,29次机试试题及其参考答案 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

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