
请计算y=1+1/(1+1/(1+1/5))(用C语言),要求:答案使用浮点输出一行,不要输出多余的零,行尾回车。
#include <math.h>
int main()
{
int a;
float y;
a=1;
y=1.2;
while(a<3){
y=1+1/y;
a=a+1;}
printf("%f\t",y);
return 0;
}
我这哪里有错
求y=1+1/(1+1/(1+1/5))
这是作业 程序本身没问题 叫上去说wrong answer 展开
y=1+1/(1+1/(1+1/5)):
#include <iostream>
using namespace std;
int main()
{
printf("%.4f",1.0+1.0/(1.0+1.0/(1.0+1.0/5)));
return 0;
}
扩展资料
1-1/3+1/5-……的前n项之和需要变量来表示符号位(正+或-),分子不变可直接用常量1,分母需要变量表示,每下一项+2。循环相加,可用for循环。
本题需要五个变量:分母m:从1开始,到n结束,每次+2;项f:由分子和分母构成,因为有小数,用1.0/i;符号flag:正负相间隔,一次正+,下一次为负-;和s。循环变量i:表示循环的次数。输入:分子:常量1,j。处理:循环相加。输出:s。
#include <stdio.h>
int main(void){
int i,n;
double f,s;
int flag=1,m=1;
printf("请输入分母的终值:");
scanf("%d",&n);
for(i=1,s=0;i<=n;i++)
{
f=flag*1.0/m;
s+=f;
flag=-flag;
m=m+2;
}
printf("1+1/3-1/5+...+1/n=%.2f\n",s);
system("pause");
return 0;
}
参考资料来源:百度百科—c语言
#include <stdio.h>
int main()
{
int a;
float y;
a=1;
y=1.2;
while(a<3){
y=1.0+1.0/y; //1都改1.0,否则将y强制转换成int,也就是1,那就得不到预期结果
a++;}
printf("%f\t",y);
return 0;
}
#include <math.h>
int main()
{
int a;
float y;
a=1;
y=5; //初始值为5,哪1.2是你自己计算后的结果,这个最好不要。
while(a<=3){ //循环三次。
y=1+1/y;
a=a+1;
}
printf("%f\n",y);
getchar(); //结果停留
return 0;
}
//提示的错误是什么?可以贴出来,这样方便回答。
你的方法我也试了 还是不行 这是作业 程序本身没问题 交上去说wrong answer
#include <math.h>
int main()
{
int a;
float y;
a=0;
y=5;
while(a<3)
{
y = (float)1 + (float)1/y;
a ++;
}
printf("%f\n",y);
return 0;
}
如果是编译器报错试试上面的代码。
#include <math.h>
int main()
{
int a;
float y;
a=1;
y=1.2;
while(a<3)
{
y=1+1/y;
a=a+1;
}
printf("%f\n",y);
return 0;
}
你的结果是对的啊,神马意思。
广告 您可能关注的内容 |