C++源程序:输入一个正整数n ,输出2/1+3/2+5/3+8/5+……的前n项100项之和

 我来答
刺友互
高粉答主

2019-07-04 · 每个回答都超有意思的
知道答主
回答量:3979
采纳率:100%
帮助的人:72.8万
展开全部

1、首先,定义三个变量,正整数、除2的余和计算次数。

2、输入一个正整数,保存在变量num中。

3、用do-while语句执行循环,条件是计算后的num值不为0。

4、计数变量累加1,实现计算次数的统计。

5、对整数num用2取余,保存在变量r中。

6、用num除2的方式,计算正整数的商。

7、输出正整数转换为二进制数的过程。

8、最后,输出十进制数num转换为二进制数所需的次数。

9、运行程序,输入一个正整数后,计算机就会输出转换为二进制数的过程,同时输出正整数转换为二进制数,所计算的次数。

手机用户24797
2020-03-30
知道答主
回答量:1
采纳率:0%
帮助的人:634
展开全部
//编写程序,输入一个正整数N(N>0),计算SUM=2/1 + 3/2 + 5/3 + 8/5 +...的前N项之和。
//注意:序列从第2项起,每一项的分子是前一项分子与分母的和,分母是前一项的分子。
#include <stdio.h>
int main()
{
double a=2,t;
double b=1;
double n=0,num=1;
double sum=0;
printf("请输入N:");
scanf("%lf",&n);
while(num<=n){
sum=sum+a/b;
t=b;
b=a;
a=t+b;
num++;
}
printf("前%f项之和是:%.3f\n",n,sum);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-11-17
展开全部
以下是求前n项的和:#include<iostream.h>void main(){ int n;cout<<"n=";cin>>n;double temp=0.0;int count=0,x=1,y=2;while(count<n){temp+=(double)y/x;int temp1=x;x=y;y+=temp1;count++;}cout<<"前"<<n<<"项之和为:"<<temp<<endl;}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-11-17
展开全部
#include "iostream.h"void main( void )
{
int i,n;
double sum=0.;
double d1=2.,d2=1.,t;
cout<<"input n: ";
cin>>n;
sum=d1/d2;
for(i=1;i<n;i++)
{
t=d1;
d1=d1+d2;
d2=t;
sum+=d1/d2;
}
cout<<sum<<endl;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
推荐于2018-03-07
展开全部
1.C语言:
#include <stdio.h>
void main()
{
int a=2;
int b=1;
int N=0;
float Y=0;
printf("请输入N:");
scanf("%d",&N);
while(a<=N)
{
Y=Y+a/b;
b=a;
a=a+b;

}
printf("前 %d 项之和是:%.2f\n",N,Y);
}
2.C++:
#include <iostream>
using namespace std;
void main()
{
int a=2;
int b=1;
int N=0;
float Y=0;
cout<<"请输入N:";
cin>>N;
while(a<=N)
{
Y=Y+a/b;
b=a;
a=a+b;
}
cout<<"前"<<N<<"项之和是:"<<Y<<endl;
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式