程序员考试大纲+2008年真题 联系客服

发布时间 : 星期三 文章程序员考试大纲+2008年真题更新完毕开始阅读5954474bcf84b9d528ea7a48

[程序2.1]

#include

#define N 100

void main()

{

float a[N=1],x;

int i,p;

printf(\输入已经排好序的数列:\

for( i=0; i

scanf(%f\

printf(\输入要插入的数:\

scanf(\

for( i=0,p=N; i

if(x

{

___(1)___

break; }

for( i=N-1; i>=p; i-- )

___(2)___

___(3)___

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

printf(\

}

[程序2.2说明]

本程序用变量count统计文件中字符的个数。

[程序2.2]

#include

#include

void main()

{

FILE *fp;

long count=0;

if( (fp=fopen(\

{

printf(\

exit(0); }

while( !feof(fp) ) {

___(4)___

count++;

}

printf(\

___(5)___

}

试题三(15分,每空3分)

阅读以下说明和C语言程序,将应填入___(n)___处的字句写在答题纸的对应栏内。

[说明]

Fibonacci数列A={11,2,3,5,8,?}有如下性质:

a0=a1=1

ai=ai-1+ai-2 i>1

对于给定的n,另外有一个由n个元素组成的数列xn,该数列中各元素的值为:

xi=ai/ai+1 i=0,1,?,n

现要求对xn中的元素按升序进行排序,然后以分数形式输出排序后的xn。例如n=5时,排序前的xn={1/1,1/2,2/3,3/5,5/8},排序后的xn={1/2,3/5,5/8,2/3,1/1}。程序中函数make()首先生成排序前的xn,然后调用函数sort()进行排序,最后输出所求结果。

[程序]

#include

#include

#include

struct fact {

long m,n;

};

void sort(int n,struct fact *p)

{

int a;

long s,t,u,v;

struct fact *q,*end;

for(end=p+(n-1),a=1;a;end--)

for(a=0,q=p;q {

s=q->m;

t=q->n;

u=(q+1)->m;

v=(q+1)->n;

if(___(1)___)

{

q->m=u; ___(2)___

___(3)___

(q+1)->n=t;

a=1;

}

} }

void make(int n)

{

int i;