📄 同时打印正弦和余弦曲线.cpp
字号:
不使用数组同时打印正弦和余弦曲线,交点处用 “+”号表示,其余处用”*”表示
#include "stdio.h"
#include "math.h"
int main()
{
double y=1.0;
int x1,x2,x3,x4,m;
for(;y>=-1.0;y-=0.1)
{
if(y>=0)//x上半部分有被平行于y轴的直线截了4个交点x1,x2,x3,x4
{
x1=acos(y)*10;
x2=62-x1;
x3=asin(y)*10;
x4=31-x3;
for(m=0;m<(x1<x3?x1:x3);m++)
printf(" ");
if(x1==x3)
printf("+");
else
{
printf("*");
for(;m<(x1>x3?x1:x3);m++)
printf(" ");
printf("*");
}
for(;m<(x2<x4?x2:x4);m++)
printf(" ");
if(fabs(x2-x4)<=1)//两点之间的距离小于一定的值就认为是交点
printf("+");
else
{
printf("*");
for(;m<(x2>x4?x2:x4);m++)
printf(" ");
printf("*");
}
}
else//x上半部分有被平行于y轴的直线截了4个交点x1,x2,x3,x4
{
x1=acos(y)*10;
x2=62-x1;
x3=31-asin(y)*10;
x4=93-x3;
for(m=0;m<x1;m++)
printf(" ");
printf(" ");//为显示美观多打印一个空格符
printf("*");
for(;m<(x2<x3?x2:x3);m++)
printf(" ");
if(fabs(x2-x3)<=1) //两点之间的距离小于一定的值就认为是交点
printf("+");
else
{
printf("*");
for(;m<(x2>x3?x2:x3);m++)
printf(" ");
printf("*");
}
for(;m<x4;m++)//两点之间的距离小于一定的值就认为是交点
printf(" ");
printf("*");
}
printf("\n");
}
return 1;
}
打印函数x=y*y曲线
#include "stdio.h"
#include "math.h"
#define maxnum 20
#define ylimit 8.0
#define decresement 0.85
int result[maxnum];
int main()
{
double x,y;
int m;
for(y=ylimit;y>=0.0;y-=decresement)
{
x=y*y;
for(m=0;m<x;m++)
printf(" ");//打印函数x=y*y曲线
printf("*\n");
}
return 1;
}
不使用数组来打印正弦曲线
#include "stdio.h"
#include "math.h"
int main()
{
double y;
int x,m;
for(y=1.0;y>=0.0;y-=0.1)//打印0~180度区间的图像
{
x=asin(y)*10;//弧度数乘以10,将图像放大
for(m=0;m<x;m++)
printf(" ");
printf("*");
for(;m<31-x;m++)//0~180度区间的图像是关于90度对称的
printf(" "); //打印正弦曲线
printf("*\n");
}
for(y=-0.1;y>=-1.0;y-=0.1) //打印180~360度区间的图像
{
x=asin(y)*10;
x=31-x;
for(m=0;m<x;m++)
printf(" ");
printf("*");
for(;m<93-x;m++)//0~180度区间的图像是关于270度对称的
printf(" ");
printf("*");
printf("\n");
}
return 1;
}
不使用数组来打印余弦曲线
#include "stdio.h"
#include "math.h"
int main()
{
double y;
int x,m;
for(y=1.0;y>=0.0;y-=0.1)//打印0~180度区间的图像
{
x=acos(y)*10;//弧度数乘以10,将图像放大
for(m=0;m<x;m++)
printf(" ");
printf("*");
for(;m<31-x;m++)//0~180度区间的图像是关于90度对称的
printf(" "); //打印余弦曲线
printf("*\n");
}
for(y=-0.1;y>=-1.0;y-=0.1) //打印180~360度区间的图像
{
x=asin(y)*10;
x=31-x;
for(m=0;m<x;m++)
printf(" ");
printf("*");
for(;m<93-x;m++)//0~180度区间的图像是关于270度对称的
printf(" ");
printf("*");
printf("\n");
}
return 1;
}
不使用数组同时打印正弦和余弦曲线,交点处用 “+”号表示,其余处用”*”表示
#include "stdio.h"
#include "math.h"
int main()
{
double y=1.0;
int x1,x2,x3,x4,m;
for(;y>=-1.0;y-=0.1)
{
if(y>=0)//x上半部分有被平行于y轴的直线截了4个交点x1,x2,x3,x4
{
x1=acos(y)*10;
x2=62-x1;
x3=asin(y)*10;
x4=31-x3;
for(m=0;m<(x1<x3?x1:x3);m++)
printf(" ");
if(x1==x3)
printf("+");
else
{
printf("*");
for(;m<(x1>x3?x1:x3);m++)
printf(" ");
printf("*");
}
for(;m<(x2<x4?x2:x4);m++)
printf(" ");
if(fabs(x2-x4)<=1)//两点之间的距离小于一定的值就认为是交点
printf("+");
else
{
printf("*");
for(;m<(x2>x4?x2:x4);m++)
printf(" ");
printf("*");
}
}
else//x上半部分有被平行于y轴的直线截了4个交点x1,x2,x3,x4
{
x1=acos(y)*10;
x2=62-x1;
x3=31-asin(y)*10;
x4=93-x3;
for(m=0;m<x1;m++)
printf(" ");
printf(" ");//为显示美观多打印一个空格符
printf("*");
for(;m<(x2<x3?x2:x3);m++)
printf(" ");
if(fabs(x2-x3)<=1) //两点之间的距离小于一定的值就认为是交点
printf("+");
else
{
printf("*");
for(;m<(x2>x3?x2:x3);m++)
printf(" ");
printf("*");
}
for(;m<x4;m++)//两点之间的距离小于一定的值就认为是交点
printf(" ");
printf("*");
}
printf("\n");
}
return 1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -