怎么用C语言把一个函数的曲线画出来?

Python015

怎么用C语言把一个函数的曲线画出来?,第1张

如果你是想在控制台上显示的话 那你随之xy 确定坐标 使用gotoxy()这种函数

如果想显示窗体的 使用GDI 的API函数就可以了

推荐你看下windows程序设计第五版

/*请不要看完了就走人*/

/*帮帮忙,采纳我的答案!*/

#include<stdio.h>

#include<math.h>

main(){

double

y

int

x,m,i

printf("y=sin(x)

[0<x<2*pi]\n")

for(y=1y>=-1y-=0.1){

if(y>=0){

m=asin(y)*10

for(x=1x<mx++)printf("

")

printf("*",m)

for(x<31-mx++)printf("

")

printf("*\n")}

else{

m=-1*asin(y)*10

for(i=0i<32i++)printf("

")

for(x=1x<mx++)printf("

")

printf("*",m)

for(x<31-mx++)printf("

")

printf("*\n",m)

}

}

}

TC下调试通过

/*******************************************************

*Author:Wacs5

*Date:20090105(YYYY-MM-DD)

*Function:画简易的曲线图 *********************************************************/

#include <stdio.h>

#include <conio.h>

#include <stdlib.h>

#include <math.h>

#include <Graphics.h>

#define n 8

int main()

{

int i,j

float data[]={7,3,12,6,9,5,8,11}

char str[40]

int gdrive=DETECT,gmode,errorcode

int maxx,maxy

int perx,pery

int x0,x1,y0,y1

int coloraxis=2,colorline=3

float mindata,maxdata,ndata

initgraph(&gdrive,&gmode,"") /*初始化设备*/

if ((errorcode=graphresult())!=grOk) /*查错*/

{

printf("Graphics error:%s\nPress any key to exit:",grapherrormsg(errorcode))

getch()

exit(1)

}

maxx=getmaxx()

maxy=getmaxy()

mindata=maxdata=data[0]

for (i=1i<ni++)

{

if (mindata>data[i])

mindata=data[i]

if (maxdata<data[i])

maxdata=data[i]

}

mindata=floor(mindata)

maxdata=ceil(maxdata)

perx=maxx/(n+4)

pery=maxy/(maxdata-mindata+4)

x0=2*perx

y0=maxy-2*pery

x1=maxx-2*perx

y1=2*pery

setcolor(coloraxis)

line(x0,y0,x1,y0)

line(x0,y0,x0,y1)

line(x1,y0,x1-4,y0+3)

line(x1,y0,x1-4,y0-3)

line(x0,y1,x0+3,y1+4)

line(x0,y1,x0-3,y1+4)

settextjustify(CENTER_TEXT,TOP_TEXT)

for (i=0i<ni+=n/3)

{

j=x0+i*perx

line(j,y0,j,y0+2) /*刻度线*/

sprintf(str,"%d",i)

outtextxy(j,y0+4,str)

}

settextjustify(RIGHT_TEXT,CENTER_TEXT)

for (i=(maxdata-mindata)/3i<=maxdata-mindatai+=(maxdata-mindata)/3)

{

j=y0-i*pery

line(x0,j,x0-2,j) /*刻度线*/

sprintf(str,"%d",(int)mindata+i)

outtextxy(x0-4,j,str)

}

setcolor(colorline)

x1=x0+perx

y1=y0-(data[0]-mindata)*pery

circle(x1,y1,2)

moveto(x1,y1)

i=1

do

{

x1+=perx

y1=y0-(data[i]-mindata)*pery

lineto(x1,y1)

circle(x1,y1,2)

moveto(x1,y1)

i++

}while(i<n)

getch()

closegraph()

return 0

}