说明:1.本问题来源于《C语言经典、趣味、实用程序设计编程百例精解》,所有程序为本人自己编写。与原程序不同之处作有标记。
2.本系列所有程序均使用codeblocks编译,操作系统为Windows XP。
问题:在屏幕上用“*”显示0~360度的正弦函数sin(x)曲线(不使用数组)
分析:同余弦函数,难点在于控制台程序按行输出。另外,使用反正弦函数求值时,值域是[-pi/2,pi/2]。
#include <stdio.h> #include <stdlib.h> #include <math.h> int main(void) { int radian; //10倍弧度 double y; //y为y轴,值为-1到+1,步长为0.1; int x; //用62列值代表x轴;62来源于2Pi*10约等于2*3.1*10; //用反正弦值求x更加方便于按行输出 for(y=1; y>=-1; y-=0.1) { radian=asin(y)*10; for(x=0;x<=62;x++) { if((x==radian)||(x==(31-radian)||(x==radian+61))) //反余弦函数值域[0,pi] printf("*"); else if(radian==0) printf("-"); else printf(" "); } printf("\n"); } return 0; }
图1. 本程序运行图片
时间: 2024-10-31 07:14:01