新网创想网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
/*请不要看完了就走人*/
成都创新互联公司2013年至今,是专业互联网技术服务公司,拥有项目成都做网站、成都网站建设、成都外贸网站建设网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元临城做网站,已为上家服务,为临城各地企业和个人服务,联系电话:18980820575
/*帮帮忙,采纳我的答案!*/
#includestdio.h
#includemath.h
main(){
double
y;
int
x,m,i;
printf("y=sin(x)
[0x2*pi]\n");
for(y=1;y=-1;y-=0.1){
if(y=0){
m=asin(y)*10;
for(x=1;xm;x++)printf("
");
printf("*",m);
for(;x31-m;x++)printf("
");
printf("*\n");}
else{
m=-1*asin(y)*10;
for(i=0;i32;i++)printf("
");
for(x=1;xm;x++)printf("
");
printf("*",m);
for(;x31-m;x++)printf("
");
printf("*\n",m);
}
}
}
在c的标准库中有graphic.h头文件,实现了很多画图函数 比如 lineto, moveto, arc,(函数名可能记错,好久没用了-.-!)
直线:起点加终点就行。
二次曲线,比如抛物线,那就以定长拆分成小直线。双曲线同理。
抛物线,和双曲线用定长拆分,估计很难计算。要是精度要求不高就根据情况改成定x,或者定y偏移的拆分,要是精度要求高那就去找直线拟合曲线的算法或者双圆弧拟合曲线的算法。
楼上的观珠仔很久不见啦(挺挂念那段时光的)!想不到路过此地看到你,这是高科技呀?你还这么老班牙啊,大考小考把你弄糊涂了,高考顺利呀!别忘了我这位老兄了,C语言略懂 ~~~~~~杰
1.绘制余弦曲线
*程序说明与注释
#includestdio.h
#includemath.h
void main()
{
double y;
int x,m;
for(y=1;y=-1;y-=0.1) /*y为列方向,值从1到-1,步长为0.1*/
{
m=acos(y)*10; /*计算出y对应的弧度m,乘以10为图形放大倍数*/
for(x=1;xm;x++) printf(" ");
printf("*"); /*控制打印左侧的 * 号*/
for(;x62-m;x++)printf(" ");
printf("*\n"); /*控制打印同一行中对称的右侧*号*/
}
}
*运行结果
2.绘制正弦曲线
在屏幕上用“*”显示0-360度的余弦函数sin(x)曲线。
1.
/**//*
sin() line.
62 of line width
*/
#include stdio.h
#include math.h
int main(void)
...{
int j ,k,d,h;
double i ;
for(i=1.0 ; i 0.0; i-=0.1)
...{
k = (int)(asin(i)*10) ;
for(j=0; j k ; j++) /**//*print the left */
printf(\" \");
printf(\"*\");
for( ; j 31-k ; j++)
printf(\" \");
c语言中表达n次方可以用pow函数。
函数原型:double
pow(double
x,
double
y)
功
能:计算x^y的值
返
回
值:计算结果
举例:
double
a;a
=
pow(3.14,
2);
//
计算3.14的平方,并将结果保存在变量a中
注:使用pow函数必须将头文件#include包含进源文件中
最简单的办法是对区域均匀划分,计算各点的函数值,然后把这些点用直线连接起来。例如,下面是绘制正弦曲线:
moveto(0, 100);
for (i=0; i=100;i++)
lineto(i, 100 + 100 *sin(M_PI * 2/100.0*i));
但是用直线连接起来不够平滑,也有一些插值方法进行改进。比如采用不等间隔划分区域,或把曲线使用一段段的二次、三次曲线连接起来。你可以参考清华大学出版社出版的《C语言常用算法程序集》