#include <stdio.h>
#include <math.h>
float mysin[91];
void InitSin(){
int i;
for(i=0;i<90;i++){
mysin[i]=sin(M_PI/90.0*(double)i);
}
}
float Sin(float rad){
int kakudo;
kakudo=(int)(rad*180/M_PI);
if(kakudo<0){
kakudo=-kakudo;
}
if(kakudo>90){
kakudo=kakudo%90;
}
return mysin[kakudo];
}
int main(void)
{
InitSin();
for( int i=-360 ; i<=360 ; i+=15 ) {
int sinp = (int)(sin((double)i*M_PI/180.0)*40.0) + 40;
int Sinp = (int)(Sin((double)i*M_PI/180.0)*40.0) + 40;
printf( "sin(%4d) ", i );
for( int p=0 ; p<=80 ; p++ ) {
if( p==sinp ) {
printf("*");
} else if( p==Sinp ) {
printf("o");
} else if( p==40 ) {
if( (abs(i)%90) == 0 ) printf( "+" );
else printf("|");
} else {
printf(" ");
}
}
printf( "\n" );
}
return 0;
}