Una pregunta de programación para principiantes en lenguaje C
/**
La función de este programa es imprimir curvas sinusoidales
*/
#include
#include
#define PI 3.14159265
int main()
{
int j ,k,sin1[200];
double x,t;
t=2.0*PI/80 /*El libro dice dividir esta área en 80 intervalos */
for(j=0,x=-PI; x<=PI; x=x+t,j++)
/*sin1[j] contiene j* en la matriz El valor de la función correspondiente a t está redondeado (floor(a + 0.5) significa que a está redondeado),
Y multiplicar por 8 significa expandir el rango, de modo que el rango de valores de sin sea de (-1, 1 ) a (-8, 8) para facilitar la impresión*/
sin1[j]=floor(8*sin(x)+0.5);
para (k=11; k>=-9; k--) //Imprime 20 líneas a la vez, el valor correspondiente de cada línea es k
{
for(j =0; j< =80; j++) /*Imprimir línea*/
if(j==0) //Imprimir la coordenada vertical
putchar('|');
else if(sin1[j]==k) //Imprime los puntos de la curva Imprime cuando el punto (j, k) satisface sinl[j] = k
putchar('*');
else if(k!=0)
putchar(' ');
else //Imprime la abscisa p>
putchar( '-');
printf("\n");
}
devuelve 0;
}