2006年9月全国等级考试三级c语言上机题库(三十五)

来源:计算机等级考试    发布时间:2012-08-28    计算机等级考试视频    评论

★☆题目35(无忧id 20 级数运算题)

 

某级数的前两项A1=1,A2=1,以后各项具有如下关系:

An=An-2+2An-1(注:n-2与n-1为下标)

下列程序prog1.c的功能是:要求依次对于整数M=100,1000和10000求出对应的n值,使其满足:Sn<M且Sn+1>=M,这里Sn=A1+A2+...+An,并依次把n值存入数组单元b[0],b[1]和b[2]中,请编制jsValue()函数来实现此功能,最后调用函数writeDat()把数组b[]中的值输出到out.dat文件中。

请勿改动主函数main()和写函数writeDat()的内容。

#include <stdio.h>

int b[3];

 

jsValue()

{int a1=1,a2=1,a12,sn,k=2;

sn=a1+a2;

while(1)

{a12=a1+2*a2;

if(sn<100&&sn+a12>=100) b[0]=k;

if(sn<1000&&sn+a12>=1000) b[1]=k;

if(sn<10000&&sn+a12>=10000) {b[2]=k;break;}

sn=sn+a12;

a1=a2;a2=a12;

k++;

}

}

 

main()

{

jsValue();

printf("M=100,n=%d/nM=1000,n=%d/nM=10000,n=%d/n",b[0],b[1],b[2]);

writeDat();

}

 

writeDat()

{

FILE *fp;

 

fp=fopen("out.dat","w");

printf("%d/n%d/n%d/n",b[0],b[1],b[2]);

fprintf(fp,"%d/n%d/n%d/n",b[0],b[1],b[2]);

fclose(fp);

}

 

运行结果为:

M=100,n=6

M=1000,n=9

M=10000,n=11

视频学习

我考网版权与免责声明

① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;

② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。

最近更新

社区交流

考试问答