使用嵌套循环:e = 1+1/1!+1/2!+....+1/n!
程序填空,不要改变与输入输出有关的语句。输入一个正整数repeat(0<repeat<10),做repeat次下列运算:输入1个正整数n,计算下式的前n+1项之和(保留4...
程序填空,不要改变与输入输出有关的语句。
输入一个正整数 repeat (0<repeat<10),做 repeat 次下列运算:
输入1个正整数n,计算下式的前n+1项之和(保留4位小数)。要求使用嵌套循环。
e = 1+1/1!+1/2!+....+1/n!
输入输出示例:括号内为说明
输入:
2 (repeat=2)
2 (n=2)
10 (n=10)
输出:
e = 2.5000
e = 2.7183
#include "stdio.h"
int main(void)
{
int i, n, j;
int repeat, ri;
double e, product;
scanf("%d", &repeat);
for(ri = 1; ri <= repeat; ri++){
scanf("%d", &n);
e=1;
product=1;
for(i=1;i<=n;i++){
for(j=1;j<=n;j++){
product=product*j;
}
e=e+1.0/product;
}
printf("e = %0.4f\n", e);
}
}
答案错误输入你=2,得1.7500,后面全都不对了,新手,求教错哪了
写错了,是n=2 展开
输入一个正整数 repeat (0<repeat<10),做 repeat 次下列运算:
输入1个正整数n,计算下式的前n+1项之和(保留4位小数)。要求使用嵌套循环。
e = 1+1/1!+1/2!+....+1/n!
输入输出示例:括号内为说明
输入:
2 (repeat=2)
2 (n=2)
10 (n=10)
输出:
e = 2.5000
e = 2.7183
#include "stdio.h"
int main(void)
{
int i, n, j;
int repeat, ri;
double e, product;
scanf("%d", &repeat);
for(ri = 1; ri <= repeat; ri++){
scanf("%d", &n);
e=1;
product=1;
for(i=1;i<=n;i++){
for(j=1;j<=n;j++){
product=product*j;
}
e=e+1.0/product;
}
printf("e = %0.4f\n", e);
}
}
答案错误输入你=2,得1.7500,后面全都不对了,新手,求教错哪了
写错了,是n=2 展开
4个回答
展开全部
#include "stdio.h"
int main(void)
{
int i, n, j;
int repeat, ri;
double e, product;
scanf("%d", &repeat);
for(ri = 1; ri <= repeat; ri++){
scanf("%d", &n);
e=1;
product=1;
for(i=1;i<=n;i++){
product=product*1.0/i;
e=e+product;
}
printf("e = %0.4f\n", e);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
循环部分有错,修改如下:
for(i=1;i<=n;i++){
product=1;//将product从外层提到这里
for(j=1;j<=i;j++){ //将j<=n 修改为j <= i
product=product*j;
}
e=e+1.0/product;
}
for(i=1;i<=n;i++){
product=1;//将product从外层提到这里
for(j=1;j<=i;j++){ //将j<=n 修改为j <= i
product=product*j;
}
e=e+1.0/product;
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询