编写函数,isValue,它的功能是:求以下数列中满足t(K)=1的最小的k,结果由函数返回。其中数列t(n)的定义为:
t(0)=m(m为给定正整数,m<=300)
t(n+1)=t(n)/2 (当t(n)为偶数时)
或t(n+1)=3*t(n)+1(当t(n)为奇数时)
最后调用函数writeDat()读取50个数据m,分别得出结果且把结果输出到文件out.dar中。
例如:当t=299时,函数值为117。
已知对于m<=300,结果k不超过300
部分源程序已给出。
请勿改动主函数main()和写函数writeDat()的内容。
include<stdio. h>
int jsValue(int m)
{
main ( )
{
int m;
m=300;
printf ("m=%d, k-%d\n", m, jsValue (m));
writeDat ( );
writeDat ( )
{
FILE *in, *out;
int i,m,s;
in= fopen ( "in. dar" , "r" );
ut=f open ( "out. dar" , "w" );
for (i=0; i<50; i++) {
fscanf (in, "%d", &m);
s=jsValue (m);
printf( "%d\n", s );
fprintf (out, "%d\n" , s );
}
fclose (in);
fclose (out);
第1题:
编写函数jsvalue(),其功能是:求Fibonacci数列中大于t的最小的一个数,结果由该函数返回。其中,Fibonacci数列F(n)的定义如下。F(0)=0, F(1)=1F(n)=F(n-1)+F(n-2)最后,调用函数writeDat()读取10个数据t,分别得出结果,并把结果输出到文件out.dat中。例如:当t=1000时,函数值为1597。部分源程序已给出。请勿改动主函数main()和写函数writeDat()的内容。#include <stdio.h>int jsValue(int t){ }void writeDat(){ FILE *in, *out; int i, n, s; in = fopen("in.dat", "r"); out = fopen("out.dat", "w"); for (i=0; i<50; i++) { fscanf(in, "%d,", &n); s = jsValue(n); fprintf(out, "%d\n", s); } fclose(in); fclose(out);}main(){ int n; n = 1000; printf("t=%d,f=%d\n", n, jsValue(n)); writeDat();}
第2题:
编写函数jsValue(int t),它的功能是:求Fibonacci数列中大于t的最小的一个数,结果由函数返回。其中Fibonacci数列F(n)的定义为: F(0)=0,F(1)=1 F(n)=F(n-1)+F(n-2) (n≥2) 最后调用函数writeDat读取l0个数据t,分别得出结果且把结果输出到文件out.dat中。 例如:当t=1000时,函数值为:1597。 注意:部分源程序存在test.c文件中。 请勿改动数据文件in.dat中的任何数据、主函数main和写函数writeDat的内容。
第3题:
第4题:
编写函数,isValue(),它的功能是求Fibonacci数列中大于t的最小的一个数,结果由函数返回,其中 Fibonacci数列F(n)的定义为:
F(0)=0,F(1)=1
F(n)=F(n-1)+F(n-2)
最后调用函数writeDat(),把结果输出到文件OUTl0.DAT中。
例如:当t=1000时,函数值为1597。
注意:部分源程序已给出。
请勿改动主函数main()和写函数WriteDat()的内容。
include <stdio.h>
int jsValue(int t)
{
}
main ( )
{
int n;
n=1000;
printf("n=%d, f=%d\n", n, jsValue(n));
writeDat ();
}
writeDat ()
{
FILE *in, *out;
int n, s;
ut = fopen ("OUT10.DAT", "w");
s = jsValue(1O00); printf("% d",s);
fprintf(out, "%d\n", s);
fclose (out);
}
第5题:
请编写函数proc(),它的功能是求Fibonacci数列中小于n的最大的一个数,结果由函数返回。
Fibonacci数列F(n)的定义为
F(0)=O,F(1)=1
F(n)=F(n-1)+F(n-2)
例如,n=500时,函数值为377。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填写所编写的若干语句。
试题程序:
【解析】由题目中所给的公式可知,Fibonacci数列的第n项为第n-1项和第n-2项的和。要求Fibonacci数列中小于n的最大的一个数。首先根据公式求出Fibonacci数列的第n项的值,当第i项大于n,则返回第i-1项的值。