阅读以下说明和C语言程序,将应填入(n)处的字句写在对应栏内。【说明】Fibonacci数列A={1,1,2,2,5,8,…)有如下性质:a0=a1=1ai=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 <stdio.h>include <stdlib.h>include <malloc.h>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<end;p++){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;long a,b,c;struct fact *x,*y;x=(struct fact *)malloc(sizeof(struct fact)*n);x->m=1:x->n=1;for(a=1,b=1,i=2;i<=n;i++){(4)a=b;b=c;(x+(i-1))->m=a;(x+(i-1))->n=b;}(5)printf("x%d={%1d/%1d",n,x->m,x->n);for(y=x+1;y<x+n;y++)printf(",%1d/%1d",y->m,y->n);printf("}\n");free(x);}void main(){int n;printf("input n:");scanf("%d",n);make(n);}

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

【说明】

Fibonacci数列A={1,1,2,2,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 <stdio.h>

include <stdlib.h>

include <malloc.h>

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<end;p++)

{

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;

long a,b,c;

struct fact *x,*y;

x=(struct fact *)malloc(sizeof(struct fact)*n);

x->m=1:

x->n=1;

for(a=1,b=1,i=2;i<=n;i++)

{

(4)

a=b;

b=c;

(x+(i-1))->m=a;

(x+(i-1))->n=b;

}

(5)

printf("x%d={%1d/%1d",n,x->m,x->n);

for(y=x+1;y<x+n;y++)

printf(",%1d/%1d",y->m,y->n);

printf("}\n");

free(x);

}

void main()

{

int n;

printf("input n:");

scanf("%d",&n);

make(n);

}


相关考题:

阅读以下说明和流程图,将应填入(n)处的字句写在对应栏内。【说明】已知头指针分别为La和lb的有序单链表,其数据元素都是按值非递减排列。现要归并La和Lb得到单链表Lc,使得Lc中的元素按值非递减排列。程序流程图如下所示:

阅读以下说明及Visual Basic程序代码,将应填入(n)处的字句写在对应栏内。【说明】以下程序为求行列式X(5,5)的值S。【Visual Basic代码】Private Function col ( byval x ( 5,5 ) as integer ) as longdim fesult as longdim temp as longdim I as integerdim j as integerdim k as imegerresult = 0for I = to 5(1)for j = 1 to 5if I+j>6 thenk= ( 1+j ) mod 5elsek=1endiftemp=temp*x ( k,j )(2)result=(3)(4)(5)End function

阅读以下说明和C语言函数,将应填入(n)处的字句写在对应栏内。[说明]完成以下中序线索化二叉树的算法。[函数]Typedef int datatype;Typedef struct node {Int ltag, rtag;Datatype data;*lchild,* rchild;}bithptr;bithptr pre;void inthread ( p );{if{inthread ( p->lchild );if ( p->lchild==unll ) (1);if ( P->RCHILD=NULL) p->rtag=1;if (2){if (3) pre->rchild=p;if ( p->1tag==1 )(4);}INTHREAD ( P->RCHILD );(5);}}

阅读以下说明和流程图,将应填入(n)处的字句写在对应栏内。[说明]设学生某次考试的成绩按学号顺序逐行存放于某文件中,文件以单行句点“.”为结束符。下面的流程图读取该文件,统计出全部成绩中的最高分max和最低分min。

阅读下列程序说明和C++程序,把应填入其中(n)处的字句,写在对应栏内。【说明】阅读下面几段C++程序回答相应问题。比较下面两段程序的优缺点。①for (i=0; i<N; i++ ){if (condition)//DoSomething…else//DoOtherthing…}②if (condition) {for (i =0; i<N; i++ )//DoSomething}else {for (i=0; i <N; i++ )//DoOtherthing…}

阅读以下说明和流程图,将应填入(n)处的字句写在对应栏内。[说明]下面的流程图用于计算一个英文句子中最长单词的长度(即单词中字母个数)MAX。假设该英文句子中只含字母、空格和句点“.”,其中句点表示结尾,空格之间连续的字母串称为单词。[流程图]

●试题二阅读下列函数说明和C代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】该程序运行后,输出下面的数字金字塔【程序】includestdio.hmain (){char max,next;int i;for(max=′1′;max=′9′;max++){for(i=1;i=20- (1) ;++i)printf(" ");for(next= (2) ;next= (3) ;next++)printf("%c",next);for(next= (4) ;next= (5) ;next--)printf("%c",next);printf("\n");}}

试题三(共 15 分)阅读以下说明和 C 程序,将应填入 (n) 处的字句写在答题纸的对应栏内。

阅读下列说明和C++-代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 某发票(lnvoice)由抬头(Head)部分、正文部分和脚注(Foot)部分构成。现采用装饰(Decorator)模式实现打印发票的功能,得到如图5-1所示的类图。【C++代码】 #include using namespace std; class invoice{ public: (1){ cout

阅读下列说明和?C++代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】阅读下列说明和?Java代码,将应填入?(n)?处的字句写在答题纸的对应栏内。【说明】某快餐厅主要制作并出售儿童套餐,一般包括主餐(各类比萨)、饮料和玩具,其餐品种类可能不同,但其制作过程相同。前台服务员?(Waiter)?调度厨师制作套餐。现采用生成器?(Builder)?模式实现制作过程,得到如图?6-1?所示的类图。