计算机三级机试数列问题39题编写函数JSvalue()它的功能是求F数列中大于t的最小的一个数,结果由函数返回,其中F数列F(n)的定义为:F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2)最后调用函数writeDAT()把结果输入到文件outDAT中。答案解析:intf0=0,f1=1,fn;fn=f0+f1;while(fn<=t){ f0=f1; f1=fn; fn=f0+f1;}returnfn;第38题下列程序的功能是,利用以下所示的简单迭代方法求方程cos(x)-x=0的一个实根,Xn+1=cos(xn),X0=x1,把x1的值赋给x0X1=cos(x0),求出一个新的x1;若x0-,执行步骤(5),否则执行步骤(2)所求x1是方程cos(x)-x=0的一个实根,作为函数值返回请编制函数countValue()实现程序要求,最后调用函数writeDAT(),把结果输出到文件outDAT中。答案解析:floatx1=,x0;do{ x0=x1; x1=cos(x0);}while(fabs(x0-x1)>=);returnx1;第95题请编写函数countValue(),它的功能是求n以内(不包括n)同时能被3与7整除的所有自然数之和的平方根,并作为函数值返回,最后结果s输出到文件夹OUTDAT中。答案解析: inti; doubles=0; for(i=21;i<n;i+=21) s+=i; returnsqrt(s); 第七题下列程序的功,能是;计算出自然数six和nine,他们满足的条件是six+six+six=nine+t,以及满足此条件的所有six与nine的和SUM,请编写函数countValue()实现程序要求,最后调用WRITEDAT()t,sum输出到文件outDAT中,其中SIXNE各代表一个十进制数字。答案解析:inti,j,a1,a2,a3,a4;for(i=100;i<=999;i++){ j=3*i/2; a1=i/10%10; a2=j/100%10; a3=j/1000; a4=j/10%10; if(a1==a2&&a3==a4&&j>=1000&&j<=9999&&3*i==2*j) { cnt++; sum+=i+j; }}:将大于整数m且紧靠m的k个素数存入数组xx,请编写函数num(intm,intk,inxx[])实现程序的要求,最后调用函数readwriteDAT()把结果输出到outdat文件中。答案解析:inti,d,h,n=0;d=m+1;while(n<k){ h=d/2; for(i=2;i<=h;i++)if(d%i==0)break;if(i>h){ xx[n]=d; n++;}d++;}-t,并按所要求素数的值从大到小的顺序,在计算其间隔减加之和,即第一个素数-第二个素数+第三个素数-第四个素数+第五个素数……的值sum,请编写函数countvlue(),实现程序的要求,最后调用函数writeDAT()t和sum输出到文件outDAT中。答案解析:inti,j,h,f=1;for(i=799;i>500;i-=2){ h=i/2; for(j=2;j<=h;j++)if(i%j==0)break;if(j>h){ cnt++; sum+=i*f; f=-f;}}:选出100-1000之间的所有个位数字与十位数字之和被10除所得余数恰是百位数字的素数(293)。t,以及这些函数值的和sum请编写函数vlue(),实现程序的要求,最后调用函数writeDAT()t和sum输出到文件outDAT中。答案解析:inti,j,h,ge,shi,bai;for(i=101;i<=999;i+=2){ ge=i%10; shi=i/10%10; bai=i/100; if((ge+shi)%10==bai) { h=i/2; for(j=2;j<=h;j++)if(i%j==0)break; if(j>h) { cnt++; sum+=i; } }}第91题下列程序的功能是:寻找并输出11至999之间的数m,它满足m,m2,m3,均为回文数,所谓回文数是指各位数字左右对称的整数,例如121,676,94249等,满足上述条件的数如m=11,m2=121,m3=1331,皆为回文数,如果是回文数,则函数返回1,反之返回0,把结果输出到文件OUT,DAT中。答案解析:t=0,xx[10],j;while(n>0){ t]=n%10; n=n/10; cnt++;}for(i=0,t-
计算机三级机试 来自淘豆网m.daumloan.com转载请标明出处.