四川省计算机机试试题,四川省计算机二级C语言30次笔试和机试试题_参考答案.doc...

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

四川省计算机二级C语言30次

笔试和机试试题_参考答案

30-1套 参考答案:

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

# include

# define N 4

void fun(int a[][N])

{

int i,t;

for(i=0;i

{ t=a[i][i];

a[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","r");

if(fp==NULL)

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

exit(0);

}

for(i=0;i

for(j=0;j

fscanf("%d",&a[i][j]); /* 改为:fp,”%d”,&a[i][j] */

fclose(fp);

fun( );/* 改为:fun(a) */

printf("output:\n");

for(i=0;i

{ for(j=0;j

printf("%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分)

5)偶数下标项计算正确(10分)

参考程序:

# include

# include

# define N 20

void fun(int *a)

{

int i;

a[0]=1;

a[1]=2;

for(i=2;i

if(i%2==0)

a[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;i

{ printf("%4d",a[i]);

if((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","r");

if(fp==NULL)

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

exit(0);

}

fscanf(fp,"%d",&i);

itoa(i);

fclose();/* 改为:fclose(fp) */

}

void itoa(int k)

{ int n=0;

char ch1,ch2,ch3,ch4,ch5;

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",ch5);

case 4: pri

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值