更多课程 选择中心

C/C++培训
美国上市教育机构

400-111-8989

C++培训

【C语言等级考试题目】级数运算题

  • 发布:C++培训
  • 来源:伊俊校园社区
  • 时间:2019-08-05 11:05

某级数的前两项 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

免责声明:内容和图片源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

预约申请免费试听课

填写下面表单即可预约申请免费试听!怕钱不够?可就业挣钱后再付学费! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

上一篇:【C语言等级考试题目】素数题
下一篇:【C语言等级考试题目】选票问题

用C求数组中的最大值的简单代码

C++语言的特点

C/C++制作人机猜拳小游戏

【C语言等级考试题目】字符串左右排序交换题

选择城市和中心
黑龙江省

吉林省

河北省

湖南省

贵州省

云南省

广西省

海南省