绘制余弦曲线和直线
在屏幕上显示0°~360°的cos(x)曲线与直线f(x)=45*(y-1)+31的叠加图形。其中cos(x)图形用“*”表示,f(x)用“+”表示,在两个图形的交点处则用f(x)图形的符号。
代码如下:
#include "stdio.h"
#include "math.h"
int main()
{
double y;
int m,n,x,yy;
for(yy=0;yy<=20;yy++)
{
y=0.1*yy;
m=acos(1-y)*10;
n=45*(y-1)+31;
for(x=0;x<=62;x++)
{
if(x==n&&x==m) printf("+");
else if(x==n) printf("+");
else if(x==m||x==62-m) printf("*");
else printf(" ");
}
printf("\n");
}
}
结果如下:

绘制正弦和余弦
实现sin(x)曲线与cos(x)曲线图形的同时显示。
代码如下:
#include <stdio.h>
#include <math.h>
int main()
{
double y;
int x,m,n;
for(y=1;y>0.7;y-=0.1)
{
m=acos(y)*10;
n=asin(y)*10;
for(x=1;x<m;x++) printf(" ");
printf("*");
for(;x<n;x++) printf(" ");
printf("+");
for(;x<31-n;x++) printf(" ");
printf("+");
for(;x<62-m;x++) printf(" ");
printf("*\n");
}
for(y=0.7;y>0;y-=0.1)
{
m=acos(y)*10;
n=asin(y)*10;
for(x=1;x<n;x++) printf(" ");
printf("+");
for(;x<m;x++) printf(" ");
printf("*");
for(;x<31-n;x++) printf(" ");
printf("+");
for(;x<62-m;x++) printf(" ");
printf("*\n");
}
for(y=0;y>-0.7;y-=0.1)
{
m=acos(y)*10;
n=asin(y)*10;
for(x=1;x<m;x++) printf(" ");
printf("*");
for(;x<31-n;x++) printf(" ");
printf("+");
for(;x<62-m;x++) printf(" ");
printf("*");
for(;x<62+n;x++) printf(" ");
printf("+\n");
}
for(y=-0.7;y>-1;y-=0.1)
{
m=acos(y)*10;
n=asin(y)*10;
for(x=1;x<m;x++) printf(" ");
printf("*");
for(;x<62-m;x++) printf(" ");
printf("*");
for(;x<31-n;x++) printf(" ");
printf("+");
for(;x<62+n;x++) printf(" ");
printf("+\n");
}
}
结果如下:

绘制圆和抛物线
实现函数y=x^2的图形与圆的图形的叠加显示。
代码如下:
#include <stdio.h>
#include <math.h>
int main()
{
int x,y,m,n;
for(y=10;y>9;y--)
{
m=2.5*sqrt(100-y*y);
n=2.5*sqrt(y);
for(x=0;x<25-n;x++) printf(" ");
printf("*");
for(;x<25-m;x++) printf(" ");
printf("*");
for(;x<25+m;x++) printf(" ");
printf("*");
for(;x<25+n;x++) printf(" ");
printf("*\n");
}
for(y=9;y>0;y--)
{
m=2.5*sqrt(100-y*y);
n=2.5*sqrt(y);
for(x=0;x<25-m;x++) printf(" ");
printf("*");
for(;x<25-n;x++) printf(" ");
printf("*");
for(;x<25+n;x++) printf(" ");
printf("*");
for(;x<25+m;x++) printf(" ");
printf("*\n");
}
for(y=0;y>-10;y--)
{
m=2.5*sqrt(100-y*y);
for(x=0;x<25-m;x++) printf(" ");
printf("*");
for(;x<25+m;x++) printf(" ");
printf("*\n");
}
}
结果如下:
