¡Urgente! ! Los expertos ayudan a resolver el próximo problema de programación en C
Utilice setprecision(n) para controlar la cantidad de números de punto flotante que se muestran en el flujo de salida. Los bits válidos del valor de salida de flujo predeterminado de C son 6.
Si se usa setprecision(n) junto con setiosflags(ios::fixed), se puede controlar el número de dígitos a la derecha del punto decimal. setiosflags(ios::fixed) representa números reales en modo de punto fijo.
Si se usa junto con setiosnags(ios::scientific), se puede controlar el número de decimales en la representación exponencial. setiosflags(ios::scientific) representa números reales exponencialmente.
Por ejemplo, el siguiente código representa un número real en modo punto flotante, punto fijo y exponencial respectivamente:
//************** *** *****
//** ch2_1.cpp **
//****************** *** *
#include lt; iostream.hgt;
#include lt; iomanip.hgt //Se utiliza el carácter de control de formato
void; main()
{
cantidad doble = 22.0/7;
cout lt; cantidad lt; > cout lt ;lt;setprecision(0) lt;lt;cantidad lt;lt;endl
lt;lt;setprecision(1) lt;lt;cantidad lt;lt;endl
lt ;lt;setprecision(2) lt;lt;cantidad lt;lt;endl
lt;lt;setprecision(3) lt;lt;cantidad lt;lt;endl
lt ;lt;setprecision(4) lt;lt;cantidad lt;lt;endl;
cout lt;lt;setiosflags(ios::fixed);
cout lt ;lt; setprecision(8) lt;lt;cantidad lt;lt;endl;
cout lt;lt;setiosflags(ios::scientific)
lt;lt;cantidad lt ;lt; endl;
cout lt; setprecision(6); //Restablecer la configuración predeterminada original
}
3,14286
3
3
3,1
3,14
3,143 p>
3.14285714
3.14285714e 00
Este programa se ejecuta correctamente en una máquina de 32 bits.
En la salida de punto flotante, setprecision(n) representa el número de dígitos significativos.
No hay un número efectivo de dígitos establecido antes del valor de salida en la primera línea, por lo que el número efectivo predeterminado de dígitos de la secuencia se establece en 6: la segunda salida establece el número efectivo de dígitos 0, y el número mínimo de dígitos efectivos de C es 1. , por lo que se considera que el número efectivo de dígitos se establece en 1: la salida de las líneas 3 a 6 se genera de acuerdo con el número establecido de dígitos efectivos.
En la salida de punto fijo, setprecision(n) representa el número de decimales.
La salida de la línea 7 se combina con setiosflags(ios::fixed). Entonces setprecision(8) establece el número de dígitos después del punto decimal, no el número total de dígitos.
Cuando se genera en forma exponencial, setprecision(n) representa el número de decimales.
La línea 8 genera setiosflags(ios::scientific) para representar la forma de salida de representación exponencial. El número efectivo de dígitos sigue siendo el último valor establecido de 8