计算机二级考试C语言 101~105套上机题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第101套

1、程序填空

给定程序中,函数fun的功能是:在任意给定的9个正整数中找出按升序排列时处于中间的数,将原数据序列中比该中间数小的数用该中间数替换,位置不变,在主函数中输出处理后的数据序列,并将中间数作为函数值返回。

例如,有9个正整数:1 5 7 23 87 5 8 21 45,按升序排列时的中间数为:8

处理后主函数中输出的数列为:8 8 8 23 87 8 8 21 45

请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。

注意:源程序存放在考生文件夹下的BLANK1.C中。得增行或删行,也不得更改程序的结构!

#include

#define N 9

int fun(int x[])

{ int i,j,k,t,mid,b[N];

for(i=0;i

for(i=0;i<=N/2;i++)

{ k=i;

for(j=i+1;jb[j]) k=j;

if(k != i )

{

/**********found**********/

t=b[i]; b[i]=___1___; b[k]=t;

}

} /**********found**********/

mid=b[___2___];

for(i=0; i

/**********found**********/

if(x[i] ___3___ mid) x[i]=mid;

return mid;

}

main()

{ int i, x[N]={1,5,7,23,87,5,8,21,45};

for(i=0; i

printf("\nThe mid data is: %d\n",fun(x));

for(i=0; i

printf("\n");

}

2、程序改错

给定程序MODI1.C中,fun函数的功能是:删除b所指数组中小于10的数据。主函数中输出删除后数组中余下的数据。

#include

#include

#define N 20

int fun( int *b )

{

/**********found**********/ int t[N] ,i, num

for(i=0; i

if(b[i]>=10)

/**********found**********/

t[++num]=b[i];

/**********found**********/ for(i=0; i

b[i]=t[i];

return( num );

}

main()

{ int a[N],i,num;

printf("a数组中的数据:\n");

for(i=0;i

printf("\n");

num=fun(a);

for(i=0;i

printf("\n");

}

3、程序设计

请编写函数fun,其功能是:统计s所指字符串中的数字字符个数,并作为函数值返回。例如,s所指字符串中的内容是:2def35adh25 3kjsdf 7/kj8655x,

函数fun返回值为:11

#include

void NONO();

int fun(char *s)

{

}

main()

{ char *s="2def35adh25 3kjsdf 7/kj8655x"; printf("%s\n",s);

printf("%d\n",fun(s));

NONO();

} void NONO()

{/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/

FILE *fp, *wf ;

int i;

char s[256];

fp = fopen("in.dat","r") ;

wf = fopen("out.dat","w") ;

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

fgets(s, 255, fp);

fprintf(wf, "%d\n", fun(s));

}

fclose(fp) ;

fclose(wf) ;

}

第102套题

1、程序填空

函数fun的功能是:输出a所指数组中的前n个数据,要求每行输出5个数。

请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。

#include

#include

void fun( int *a, int n )

{ int i;

for(i=0; i

{

/**********found**********/ if( ___1___==0 )

/**********found**********/

printf("___2___"); /**********found**********/

printf("%d ",___3___);

}

}

main()

{ int a[100]={0}, i,n;

n=22;

for(i=0; i

fun( a, n);

printf("\n");

}

2、程序改错

给定程序MODI1.C中,fun函数的功能是:在任意给定的N个正整数中,从左到右依次逐个取三个数作为一组,按值大小找出该组数的中值,用该中值替换与该组数对应的原三个数中的中间位置的数。处理后原数列中首尾2个数不变。处理后数列在主函数中输出。例如,有10个正整数如下:

初始数列为:6 5 7 23 18 5 8 21 45 38

第1组数为:6 5 7 中值为:6 替换后的数列为:6 6 7 23 18 5 8 21 45 38

第2组数为:5 7 23 中值为:7 替换后的数列为:6 6 7 23 18 5 8 21 45 38

第3组数为:7 23 18 中值为:18 替换后的数列为:6 6 7 18 18 5 8 21 45 38

第4组数为:23 18 5 中值为:18 替换后的数列为:6 6 7 18 18 5 8 21 45 38

相关文档
最新文档