C语言 打印y=sin(x)图像

#include<stdio.h>
#include<math.h>
#define PI 3.1415926
int main()
{
	printf("y=sin(x)\n");
	double x, y, m;
	for (y = 1; y >= 0; y -= 0.1)//分上下两部分打印,程序是从上到下输出,先打印上部分的
	{
		m = asin(y)*10;//反三角
		for (x = 1; x < m; x++)//上半部分为半个周期,长度为PI
		{
			printf(" ");
		}
		printf("*");
		for (; x < PI * 10 - m; x++)//对称轴为PI/2,第一个*的位置与第二个*位置之和为PI
		{
			printf(" ");
		}
		printf("*\n");
	}
	for (y = 0; y >= -1; y -= 0.1)//打印下半部分
	{
		m = (PI + asin(-y)) * 10;
		for (x = 1; x < m+2; x++)//这个+2为微调
		{
			printf(" ");
		}
		printf("*");
		for (; x < 3*PI * 10 - m+2; x++)//对称轴为3PI/2,两个*位置之和为3PI
		{
			printf(" ");
		}
		printf("*\n");
	}
}

效果如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值