#include <stdio.h>
int main()
{
double x,a,b;
float i;
int n;
scanf("%lf %d",&x,&n);
a=1;
b=x;
for(i=2.0;i<=n;i++)
{
x=(2.0i-1)/ixb-(i-1)/ia;
a=b;
b=x;
}
printf("%.2f",x);
return 0;
}
😭为什么在输入3.4和10之后会输出1.#J
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- bekote 2022-09-27 09:27关注
这里的x是最开始输入的x值,但你的程序x值是一直在变化的
#include <stdio.h> int main() { double x,a,b,c; float i; int n; scanf("%lf %d",&x,&n); a=1; b=x; for(i=2.0;i<=n;i++) { c=(2.0*i-1)/i*x*b-(i-1)/i*a; a=b; b=c; } //四舍五入保留两位小数 printf("%.2lf",c+0.005); return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据
- ¥15 个人网站被恶意大量访问,怎么办
- ¥15 Vue3 大型图片数据拖动排序
- ¥15 Centos / PETGEM
- ¥15 划分vlan后不通了
- ¥20 用雷电模拟器安装百达屋apk一直闪退
- ¥15 算能科技20240506咨询(拒绝大模型回答)
- ¥15 自适应 AR 模型 参数估计Matlab程序
- ¥100 角动量包络面如何用MATLAB绘制
- ¥15 merge函数占用内存过大