标题:[求助]有个简单的题目!用while来写的!不太看得懂
只看楼主
yuliu00
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2006-4-4
 问题点数:0 回复次数:11 
[求助]有个简单的题目!用while来写的!不太看得懂

题目是 编写程序,计算并输出下列级数的前N项之和sum,N的值从键盘输入!
sum=2/1+3/2+5/3+8/5+13/8+21/13+~~~

main()
{ int n;
float sum=0;
printf("please input n");
sacnf("%d",&n);
while(n)
{
sum=sum+
}

}
只写了那么多就是不知道怎么使它循环算出所要的数!不知道怎么控制N!

[此贴子已经被作者于2006-4-12 15:08:48编辑过]

搜索更多相关主题的帖子: 键盘 sum 
2006-04-12 15:07
ヤ順祺冄繎ヤ
Rank: 8Rank: 8
等 级:贵宾
威 望:42
帖 子:3032
专家分:0
注 册:2005-11-9
得分:0 

你多用一個變量來控制前N項之和也能搞定呀?
這道題要控制N!的嗎?

2006-04-12 15:17
yuliu00
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2006-4-4
得分:0 
现在在想!!才学C不太懂!主要是感觉没找到

从那里起飞,从那里降落!
2006-04-12 15:19
ヤ順祺冄繎ヤ
Rank: 8Rank: 8
等 级:贵宾
威 望:42
帖 子:3032
专家分:0
注 册:2005-11-9
得分:0 
第一個表達式和第二表達式你可以固定,
後面的項分子是前面兩項的分子之和,
分母是前兩項分母之和!
這道題最簡單的方法就是多用幾個變量來做,非常的簡單!
2006-04-12 15:22
yuliu00
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2006-4-4
得分:0 
我也是这样想的!前2个式子可以固定!后面的就是前2项之和!!
变量这就没注意到!!看来多用几个变量可能就好写了!

从那里起飞,从那里降落!
2006-04-12 15:25
happy99
Rank: 1
等 级:新手上路
帖 子:41
专家分:0
注 册:2005-5-5
得分:0 

看看这个
[CODE]
#include<stdio.h>
#include<math.h>
void main(){
int a=2,b=1,temp=0,i=0,n=0;
float sum=0;
clrscr();
printf("please input n\n");
scanf("%d",&n);
while(i<n){
sum+=(float)(a/b);
temp=a;
a+=b;
b=temp;
i++;
}
printf("sum is: %f",sum);
getchar();

}


[/CODE]

[此贴子已经被作者于2006-4-12 15:52:40编辑过]


以欢迎光临我的小站 http://myhappy99.
2006-04-12 15:44
yuliu00
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2006-4-4
得分:0 
我多用1两个变量来算能算出!但是就是不知道怎么循环!因为多了一个N!

main()
{ int n;
float sum=0;
printf("please input n");
sacnf("%d",&n);
while(n) /*这个地方不知道怎么弄才能使他按要求的循环,因为N是未知的*/
{
sum=sum+
}


从那里起飞,从那里降落!
2006-04-12 15:51
yuliu00
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2006-4-4
得分:0 
以下是引用happy99在2006-4-12 15:44:00的发言:

看看这个
[CODE]
#include<stdio.h>
#include<math.h>
void main(){
int a=2,b=1,temp=0,i=0,n=0;
float sum=0;
clrscr();
printf("please input n\n");
scanf("%d",&n);
while(i<n){
sum+=(float)(a/b);
temp=a;
a+=b;
b=temp;
i++;
}
printf("sum is: %f",sum);
getchar();

}


[/CODE]


你这个不对!!我试了下!!虽然能运行!但是结果和题目所求不同!


从那里起飞,从那里降落!
2006-04-12 16:02
liubei1980
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2006-3-28
得分:0 
main()
{
int n,t,number;
float a=2,b=1,sum=0;
printf("please input number:");
scanf("%d",&number);
for(n=1;n<=number;n++)
 {
 sum+=a/b;
 t=a;a=a+b;b=t;
 }
printf("sum is %9.6f\n",sum);
}

2006-04-12 16:10
yuliu00
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2006-4-4
得分:0 
谢谢各位!!终于写对了!!
main()
{
int n,t,i=1;
float a=2,b=1,sum=0;
printf("please input n:\n");
scanf("%d",&n);
while(i<=n)
{
sum+=a/b;
t=a;a=a+b;b=t;/*这个东西没想起,用这个就很容易算了!*/
i++;
}
printf("sum is %f\n",sum);
}


从那里起飞,从那里降落!
2006-04-12 16:31



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-57038-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.294557 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved