C语言代码改错题?

序列求和:输入一个正实数eps,计算并输出下式的值,精确到最后一项的绝对值小于eps(保留6位小数)。请使用do-while语句实现循环。
s=1-1/4+1/7-1/10+1/13-1/16+⋯
输入输出示例
Input eps:1E-4
S=0.835699
分析下列程序代码能否实现,如果程序中存在错误,请修改程序中的错误,然后运行修改后的程序。
#include<stido.h>
int main(void)
{
int flag,n;
double eps,item,s;

printf("Input eps:");
scanf("%lf",&eps);
flag=1;
s=0;
n=1;
do {
item=1/n;
s=s+flag*item;
flag=-flag;
n=n+3;
}while(item<eps);
printf("s=%f\n",s);

return 0;
}
(1)编译后有 个错误[Error],双击每一个错误,观察源程序中的箭头位置,并分析错误原因。
错误行号: 错误原因:
改正方法:
正确语句:
错误行号: 错误原因:
改正方法:
正确语句:
错误行号: 错误原因:
改正方法:
正确语句:



#include <stdio.h>

int main(void)

{

int flag, n;

double eps, item, s;

printf("Input eps:");

scanf("%lf", &eps);

flag = 1;

s = 0;

n = 1;

do

{

item = 1.0 / n;

s = s + flag * item;

flag = -flag;

n = n + 3;

} while (item >= eps);

printf("s=%f\n", s);

return 0;

}


温馨提示:答案为网友推荐,仅供参考
相似回答