Experimento 4-1-8 Encuentra la suma parcial de una secuencia intercalada simple con una precisión dada (15 puntos)

Esta pregunta requiere escribir un programa para calcular la suma de la parte de la secuencia 1 - 1/4 + 1/7 - 1/10 + ...hasta que el valor absoluto del último elemento no sea mayor que la precisión dada eps.

Formato de entrada:

La entrada da un número real positivo en una línea eps.

Formato de salida:

En una línea, sum = Senvíe el valor de la suma parcial en el formato " " S, con una precisión de seis dígitos después del punto decimal. El título garantiza que el resultado del cálculo no exceda el rango de doble precisión.

Ejemplo de entrada 1:

4E-2

Ejemplo de salida 1:

sum = 0.854457

Ejemplo de entrada 2:

0.02

Ejemplo de salida 2:

sum = 0.826310

Código:

# include <stdio.h>
# include <stdlib.h>

int main() {
    
    
	double eps,sum = 0.0,value,sign = 1.0;
	scanf("%lf",&eps);
	int i = 1;
	while(1) {
    
    
		value = sign / i;
		if (value < 0 && value + eps >= 0 || value > 0 && value - eps <= 0) {
    
    
			sum += value;
			break;
		}else {
    
    
			sign *= (-1);
			i += 3;
			sum += value;
		}
	}
	printf("sum = %.6lf",sum);
	return 0;
}

Enviar captura de pantalla:

Inserte la descripción de la imagen aquí

Ideas de resolución de problemas:

Al igual que en las dificultades e ideas anteriores, ¡no queda nada que decir!

Supongo que te gusta

Origin blog.csdn.net/weixin_43862765/article/details/114478309
Recomendado
Clasificación