编程计算1-1/3+1/5-1/7+…,
直到最后一项小于10e-4。
(已知正确的运行结果为:sum=0.785349)
下面程序中存在比较隐蔽的错误,
请通过分析和调试程序,发现并改正程序中的错误。
要求改正后的程序仍然用while结构实现。
注意:将修改后的完整的源程序写在答题区内。
对于没有错误的语句,请不要修改,
修改原本正确的语句也要扣分。
当且仅当错误全部改正,且程序运行结果调试正确,
才得分,如果只改正了部分错误,则不加分。
#include <stdio.h>
main()
{
float sum = 0, term = 1, ;
int n = 1, sign = 1;
while (fabs(term) >= 1e-4);
{
sum = sum + term;
sign = -sign;
n = n + 2;
term = sign / n;
}
printf("sum=%f\n",sum);
}
#include <stdio.h>
#include <math.h>
main()
{
float sum = 0, term = 1,n = 1;
int sign = 1;
while (fabs(term) >= 1e-4) //while后面无';'
{
sum = sum + term;
sign = -sign;
n = n + 2;
term = sign * (1/n);
}
printf("sum=%f\n",sum);
}