[程序2.2]
#include
#include
void main()
{
FILE *fp;
long count=0;
if( (fp=fopen("letter.txt","r") ) == NULL )
{
printf("can not open file\n");
exit(0);
}
while( !feof(fp) )
{
___(4)___
count++;
}
printf("count=%d\n",count);
___(5)___
}
試題三(15分,每空3分)
閱讀以下說(shuō)明和C語(yǔ)言程序,將應(yīng)填入___(n)___處的字句寫在答題紙的對(duì)應(yīng)欄內(nèi)。
[說(shuō)明]
Fibonacci數(shù)列
列A={11,2,3,5,8,…}有如下性質(zhì):
a0=a1=1
ai=ai-1+ai-2 i>1
對(duì)于給定的n,另外有一個(gè)由n個(gè)元素組成的數(shù)列xn,該數(shù)列中各元素的值為:
xi=ai/ai+1 i=0,1,…,n
現(xiàn)要求對(duì)xn中的元素按升序進(jìn)行排序,然后以分?jǐn)?shù)形式輸出排序后的xn。例如n=5時(shí),
排序前的xn={1/1,1/2,2/3,3/5,5/8},排序后的xn={1/2,3/5,5/8,2/3,1/1}。程序中函數(shù)
make()首先生成排序前的xn,然后調(diào)用函數(shù)sort()進(jìn)行排序,最后輸出所求結(jié)果。
[程序]
#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;
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={/",n,x->m,x->n);
for(y=x+1;y
printf(",/",y->m,y->n);
printf("}\n");
free(x);
}
void main()
{
int n;
printf("input n:");
scanf("%d",&n);
make(n);
}
相關(guān)推薦:計(jì)算機(jī)軟考程序員備考:程序設(shè)計(jì)知識(shí)點(diǎn)匯總北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |