樓上的觀珠仔很久不見啦(挺掛念那段時光的)!想不到路過此地看到你,這是高科技呀?你還這么老班牙啊,大考小考把你弄糊涂了,高考順利呀!別忘了我這位老兄了,C語言略懂 ~~~~~~杰
十年的湖北網站建設經驗,針對設計、前端、開發、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。營銷型網站的優勢是能夠根據用戶設備顯示端的尺寸不同,自動調整湖北建站的顯示方式,使網站能夠適用不同顯示終端,在瀏覽器中調整網站的寬度,無論在任何一種瀏覽器上瀏覽網站,都能展現優雅布局與設計,從而大程度地提升瀏覽體驗。成都創新互聯從事“湖北網站設計”,“湖北網站推廣”以來,每個客戶項目都認真落實執行。
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(\" \");
這個是玫瑰花程序!你可以借鑒!
#include stdio.h
#include dos.h
#include graphics.h
/*花兒*/
void hua(int x,int y)
{
register i;
setcolor(12);
arc(x+65,y-60,150,350,8);
arc(x+66,y-54,300,470,8);
arc(x+65,y-56,30,230,10);
arc(x+64,y-57,300,460,17);
ellipse(x+73,y-30,250,450,27,40);
ellipse(x+59,y-30,100,290,27,40);
ellipse(x+65,y-40,140,270,20,30);
setfillstyle(SOLID_FILL,5);
floodfill(x+65,y-20,12);
arc(x,y,150,350,12);
arc(x+1,y+8,280,470,12);
arc(x,y+2,30,230,16);
arc(x,y+3,80,240,28);
arc(x+2,y+8,180,330,22);
arc(x-2,y+2,310,460,25);
ellipse(x-12,y+30,120,300,30,40);
ellipse(x+10,y+28,250,423,30,42);
ellipse(x-4,y+10,290,393,30,40);
setfillstyle(SOLID_FILL,4);
floodfill(x+5,y+31,12);
ellipse(x+120,y+5,0,360,15,25);
setfillstyle(SOLID_FILL,15);
floodfill(x+120,y,12);
ellipse(x-70,y+10,0,360,14,20);
setfillstyle(SOLID_FILL,14);
floodfill(x-70,y+10,12);
setcolor(10);
ellipse(x-15,y+32,190,310,30,35);
ellipse(x+16,y+32,235,355,26,35);
ellipse(x,y+35,190,350,43,50);
arc(x,y+82,190,350,6);
setfillstyle(SOLID_FILL,2);
floodfill(x,y+75,10);
ellipse(x+50,y-48,190,320,22,50);
ellipse(x+80,y-48,220,350,22,50);
ellipse(x+65,y-28,180,360,36,50);
floodfill(x+65,y+18,10);
for(i=0;i3;i++)
{
ellipse(x-98,y+100+i,255,371,100,80);
ellipse(x-20,y+30+i,260,358,140,140);
ellipse(x+233,y+20+i,180,218,160,140);
}
ellipse(x+70,y+34,180,233,140,140);
ellipse(x,y+40,205,255,100,120);
ellipse(x+135,y-30,209,249,72,120);
ellipse(x,y+20,263,301,100,120);
ellipse(x+85,y-10,278,305,100,120);
ellipse(x+100,y-62,282,308,90,120);
ellipse(x-50,y-10,277,314,30,120);
ellipse(x+70,y+80,222,266,52,120);
ellipse(x-60,y-45,229,266,52,120);
ellipse(x+79,y-45,229,266,52,120);
ellipse(x+84,y,224,273,52,120);
ellipse(x+110,y+40,240,282,100,120);
ellipse(x+120,y-6,200,340,17,25);
ellipse(x+120,y+7,160,380,17,27);
ellipse(x-70,y+15,140,380,17,20);
}
#include "stdio.h"
#include "conio.h"
#include "graphics.h"
#include "math.h"
#define closegr closegraph
void initgr(void) /* BGI初始化 */
{
int gd = DETECT, gm = 0; /* 和gd=VGA,gm=VGAHI是同樣效果 */
registerbgidriver(EGAVGA_driver);/* 注冊BGI驅動后可以不需要.BGI文件的支持運行 */
initgraph(gd, gm, "");
}
main()
{
int i, j;
double a=5;
double t;
initgr(); /* BGI初始化 */
/*y=x; */
moveto(0,getmaxy()/2);
for (i=0;i4*314;i++) {
t=(double)i/10;
j=(int)(a*(1-cos(t/10))*10);
lineto(a*(t-sin(t/10)*10),getmaxy()/2-j);
}
getch(); /* 暫停一下,看看前面繪圖代碼的運行結果 */
closegr(); /* 恢復TEXT屏幕模式 */
}
如果你是想在控制臺上顯示的話 那你隨之xy 確定坐標 使用gotoxy()這種函數
如果想顯示窗體的 使用GDI 的API函數就可以了
推薦你看下windows程序設計第五版
/*請不要看完了就走人*/
/*幫幫忙,采納我的答案!*/
#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語言曲線函數,函數曲線的繪制C語言源程序
URL分享:http://vcdvsql.cn/article20/hedejo.html
成都網站建設公司_創新互聯,為您提供云服務器、全網營銷推廣、動態網站、搜索引擎優化、網站設計公司、網站建設
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯