#include<iostream> #include<cmath> using namespace std; int main() { double y; int x,m,i; printf("y=sin(x) [0<x<2*pi]\n"); for(y=1;y>=-1;y-=0.1) { //y为列方向,值从1到-1,步长为0.1 if(y>=0) { m=asin(y)*10; //计算出y对应的弧度m,乘以10为图形放大倍数 for(x=1;x<m;x++)printf(" "); printf("*"); //控制打印 * 号 for(;x<31-m;x++)printf(" "); printf("*\n"); } //控制打印同一行中对称的*号 else { m=-1*asin(y)*10; for(i=0;i<32;i++)printf(" "); for(x=1;x<m;x++)printf(" "); printf("*"); for(;x<31-m;x++)printf(" "); printf("*\n"); } } }