我又試了一下 還是可以運(yùn)行,輸入a,b,c 也可以的 。 運(yùn)行后,屏幕左上角不是有三個(gè)值輸入輸出的顯示嗎

萬(wàn)州網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián)公司,萬(wàn)州網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為萬(wàn)州上1000+提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站制作要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的萬(wàn)州做網(wǎng)站的公司定做!
你所說(shuō)的“無(wú)法輸入a b c的值”能不能說(shuō)的再具體一些。
#includegraphics.h
#define BKC 9
#define COLOR 8 /* 拋物線顏色*/
main()
{int gd=DETECT,gm,p=1,i;
double a,b,c,x,y,x1,y1,t;
char ch;
initgraph(gd,gm,"");
while(p==1) /*主循環(huán)體*/
{
setbkcolor(BKC);
setcolor(14);
setlinestyle(0,0,1);
rectangle(0,0,639,479); /*畫邊框*/
line(20,460,639,460); /*畫橫坐標(biāo)*/
line(20,0,20,460); /*畫縱坐標(biāo)*/
/* outtextxy(8,467,"-180");*/
setlinestyle(1,0,1);
setcolor(15);
for(i=20;i640;i+=20)line(i,460,i,0);
for(i=460;i0;i-=20)line(20,i,640,i);
setcolor(12);
setlinestyle(SOLID_LINE,0,3);
line(300,460,300,0);
line(0,360,640,360);
setcolor(15);
gotoxy(1,1);
printf("Please Enter a:" );
scanf("%lf",a);
printf("Please Enter b:" );
scanf("%lf",b);
printf("Please Enter c:" );
scanf("%lf",c);
gotoxy(300,440);
printf("y= %5.2f *x^2 + %5.2f *x + %5.2f ",a,b,c);
setlinestyle(SOLID_LINE,0,1);
moveto(200,460-(a*(0-100)*(0-100)+b*(0-100)+c+100));
for(t=0.0;;t+=0.0002)
{
x=t+200;
y=a*(t-100)*(t-100)+b*(t-100)+c+100;
x1=x; /*畫筆定位在用戶坐標(biāo)原點(diǎn) (200,460) */
y1=460-y;
if(x1640.0||x10||x640) break;
if(y1=480.0 y=480) lineto(x1,y1);
}
setcolor(12);
outtextxy(250,8,"Finished! Continue(Y/N)?");
p=-1;
while(p==-1)
{
ch=getch();
if(ch=='y'||ch=='Y') { cleardevice();p=1;}
else if(ch=='n'||ch=='N') p=0;
else outtextxy(220,200,"ERROR! Please Press 'Y' or 'N'_" );
}
}
closegraph();
}
需要一個(gè)二元函數(shù)。然后隨著x變量的不斷增加而不斷改變y坐標(biāo)點(diǎn),就可以在畫板上畫出線啦。
由于已知坐標(biāo)點(diǎn),那x坐標(biāo)范圍就已知咯。
樓上的觀珠仔很久不見啦(挺掛念那段時(shí)光的)!想不到路過(guò)此地看到你,這是高科技呀?你還這么老班牙啊,大考小考把你弄糊涂了,高考順利呀!別忘了我這位老兄了,C語(yǔ)言略懂 ~~~~~~杰
1.繪制余弦曲線
*程序說(shuō)明與注釋
#includestdio.h
#includemath.h
void main()
{
double y;
int x,m;
for(y=1;y=-1;y-=0.1) /*y為列方向,值從1到-1,步長(zhǎng)為0.1*/
{
m=acos(y)*10; /*計(jì)算出y對(duì)應(yīng)的弧度m,乘以10為圖形放大倍數(shù)*/
for(x=1;xm;x++) printf(" ");
printf("*"); /*控制打印左側(cè)的 * 號(hào)*/
for(;x62-m;x++)printf(" ");
printf("*\n"); /*控制打印同一行中對(duì)稱的右側(cè)*號(hào)*/
}
}
*運(yùn)行結(jié)果
2.繪制正弦曲線
在屏幕上用“*”顯示0-360度的余弦函數(shù)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語(yǔ)言中表達(dá)n次方可以用pow函數(shù)。
函數(shù)原型:double
pow(double
x,
double
y)
功
能:計(jì)算x^y的值
返
回
值:計(jì)算結(jié)果
舉例:
double
a;a
=
pow(3.14,
2);
//
計(jì)算3.14的平方,并將結(jié)果保存在變量a中
注:使用pow函數(shù)必須將頭文件#include包含進(jìn)源文件中
你看看這個(gè)是不是你要求的-------------------------------------------------------#includestdio.h
main()
{
while(1){
double a,b,c,a1,b1,c1,x,x2;
printf("請(qǐng)輸入?yún)?shù):");
scanf("%lf,%lf,%lf,%lf,%lf,%lf",a,b,c,a1,b1,c1);
if((a1*b-a*b1)!=0)
{
x=(c1*a-c*a1)/(a1*b-a*b1);//求交點(diǎn)的縱坐標(biāo)
x2=-(b*x+c)/a;//求交點(diǎn)的橫坐標(biāo)
printf("曲線交點(diǎn)是:(%lf,%lf)",x2,x);//打印交點(diǎn)
break;
}//endif
}//endwhile
}----------------------------------------
在c的標(biāo)準(zhǔn)庫(kù)中有g(shù)raphic.h頭文件,實(shí)現(xiàn)了很多畫圖函數(shù) 比如 lineto, moveto, arc,(函數(shù)名可能記錯(cuò),好久沒(méi)用了-.-!)
直線:起點(diǎn)加終點(diǎn)就行。
二次曲線,比如拋物線,那就以定長(zhǎng)拆分成小直線。雙曲線同理。
拋物線,和雙曲線用定長(zhǎng)拆分,估計(jì)很難計(jì)算。要是精度要求不高就根據(jù)情況改成定x,或者定y偏移的拆分,要是精度要求高那就去找直線擬合曲線的算法或者雙圓弧擬合曲線的算法。
當(dāng)前題目:c語(yǔ)言函數(shù)曲線的打點(diǎn),怎么用c語(yǔ)言繪制曲線
分享地址:http://chinadenli.net/article34/dsgpcse.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供、域名注冊(cè)、電子商務(wù)、搜索引擎優(yōu)化、網(wǎng)站維護(hù)、網(wǎng)站營(yíng)銷
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
營(yíng)銷型網(wǎng)站建設(shè)知識(shí)