编写函数jsValue(),它的功能是:求Fibonacci数列中大于t的最小一个数,结果由函数返回。其中Fibonacci数列F(n)的定义为:
F(0)=0,F(1)=1
F(n)=F(n-1)+F(n-2)
最后调用函数writeDat()读取50个数据t,分别得出结果且把结果输出到文件out5.dat中。
例如:当t=1000时,函数值为:1597。
部分程序已经给出。
请勿改动主函数main()和写函数writeDat()的内容。
#include
int jsValue(int t)
{
}
main()
{int n;
n=1000;
printf("n=%d,f=%d\n",n,jsValue(n));
writeDat();
}
writeDat()
{
FILE *in,*out;
int i,n,s;
in=fopen("in5.dat","r");
out=fopen("out5.dat","w");
for(i=0;i<50;i++)
{
fscanf(in,"%d",&n);
s=jsValue(n);
printf("%d\n",s);
fprintf(out,"%d\n",s);
}
fclose(in);
fclose(out);
}
下列程序的功能是:在三位整数(100至999)中寻找符合条件的整数并依次从小到大存入数组中;该整数既是完全平方数,又有两个数字相同,例如144、676等。
请编制函数jsValue()实现此功能,满足该条件的整数的个数是通过所编制的函数返回。
最后调用函数writeDat()把结果输出到文件out7.dat中。
请勿改动主函数main()和写函数writeDat的内容。
#include
jsValue(int bb[])
{
}
main()
{
int b[20],num;
num=jsValue(b);
writeDat(num,b);
clrscr();
}
writeDat(int num,int b[])
{
FILE *out;
int i;
out=fopen("out7.dat","w");
printf("%d\n",num);
fprintf(out,"%d\n",num);
for(i=0;i{printf("%d\n",b[i]);
fprintf(out,"%d\n",b[i]);}
fclose(out);
}
【答案】
jsValue(int bb[])
{
int i,j,k=0;
int hun,ten,data;
for(i=100;i<=999;i++)
{
j=10;
while(j*j<=i)
{
if(i==j*j)
{
hun=i/100;data=i-hun*100;
ten=data/10;data=data-ten*10;
if(hun==ten||hun==data||ten==data)
{bb[k]=i;k++;}
}
j++;
}
}
return k;
}
| 广告合作:400-664-0084 全国热线:400-664-0084 Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号 珠峰网 版权所有 All Rights Reserved
|