這個程序功能是打印正弦曲線
*/
#include <stdio.h>
#include <math.h>
#define PI 3.14159265
int main()
{
int j,k,sin1[200];
double x,t;
t=2.0*PI/80; /*書上說把這裏分為80個區間*/
for(j=0,x=-PI; x<=PI; x=x+t,j++)
/*sin1[j]數組裏面存的是j*t所對應的函數值並且取四舍五入(floor(a + 0.5)就表示a四舍五入),
而乘以8的意思是擴大範圍,使sin的值域由(-1,1)到(-8, 8),便於打印*/
sin1[j]=floor(8*sin(x)+0.5);
for(k=11; k>=-9; k--) //壹***打印20行,每壹行對應的值是k
{
for(j=0; j<=80; j++) /*打印行*/
if(j==0) //打印縱坐標
putchar('|');
else if(sin1[j]==k) //打印曲線的點,當點(j,k)滿足sinl[j] = k時才打印
putchar('*');
else if(k!=0)
putchar(' ');
else //打印橫坐標
putchar('-');
printf("\n");
}
return 0;
}