Ⅰ c語言怎麼畫圓
#include <math.h>#include <stdio.h>#define R 10 //半徑 #define X 10 //圓心x坐標 #define Y 10 //圓心Y坐標 int main(void)
{ int x,y; int m; int i; for(i=Y-R;i>=1;i--)
{ printf("
");
}
for(y=R;y>=-R;y--)
{
m=2*sqrt(R*R - y*y); //橫坐標的偏移量,因為字體長寬比例為2,所以要乘2
for(x=1;x<X+R-m;x++) //列印左半圓
{ printf(" ");
} printf("*"); for(;x<X+R+m;x++) //列印右半圓
{ printf(" ");
} printf("*
");
}
}
Ⅱ 怎麼用c語言畫出一個隨時間變化的圓形
circle函數是TURBO C提供的圖形介面,用來畫圓。不屬於標准庫函數,不具備可移植性。
函數名:circle
功 能: 在給定半徑以(x, y)為圓心畫圓
用 法:void far circle(int x, int y, int radius)隨時間變化,可以攜此用cleardevice函數清除屏幕,不斷畫半徑不同的圓。看起來就像是一個隨時間變化的圓形。
函數名: cleardevice
功 能: 清除圖形屏幕
用 法: void far cleardevice(void);
常式:#include<graphics.h>
#include<stdlib.h>指改
#include<stdio.h>
#include<conio.h>
intmain(void)
{
/*requestautodetection*/
intgdriver=DETECT,gmode,errorcode;
intmidx,midy;
intradius=100;
/**/
initgraph(&gdriver,&gmode,"");
/*readresultofinitialization*/
errorcode=graphresult();
if(errorcode!=grOk)/*anerroroccurred*/
{
printf("Graphicserror:%s ",grapherrormsg(errorcode));
printf("Pressanykeytohalt:");
getch();
exit(1);/*terminatewithanerrorcode*/
}
midx=getmaxx()/2;
midy=getmaxy()/2;
setcolor(getmaxcolor());
for(i=0;i<1000000;i++)if(i%50000==0){
辯逗迅cleardevice();/*cleanthescreen*/
circle(midx,midy,radius--);/*drawthecircle*/
}
getch();
closegraph();
return0;
}
Ⅲ C語言 給一個圓形填充顏色
第一floodfill第三個顏色參數一定要和被填充圖畫時的顏色一樣.
第二,X,Y 一定要在被填充的圖形內,邊界上也是不行的,那樣填充的是圖形外的部分,如你上題,因是圓形,可改為
setcolor(1);
circle(200,200,100);
floodfill(200,200,1);
但如是長方形或正方形就一定要在邊界之內,就是多一個像素都行
Ⅳ 求教,用c語言,循環語句輸出一個五角星,帶運行圖。
提供示例代碼供參考:
#include<stdio.h>
voidmain()
{
inti1,j1,k1,i2,j2,k2,i3,j3,k3,i4,j4,k4,m4,n4;
printf(" ");
for(i1=1;i1<6;i1++)/*這是五角星的上面一個角*/
{
for(j1=1;j1<19-i1;j1++)
printf("");
for(k1=1;k1<=2*i1-1;k1++)
printf("*");
printf(" ");
}
for(i2=1;i2<5;i2++)/*這是五角星的中間兩個角*/
{
for(j2=1;j2<3*i2-3;j2++)
printf("");
for(k2=1;k2<=42-6*i2;k2++)
printf("*");
printf(" ");
}
for(i3=1;i3<3;i3++)/*這是中間與下部相接的部分*/
{
for(j3=1;j3<12-i3;j3++)
printf("");
for(k3=1;k3<=12+2*i3;k3++)
printf("*");
printf(" ");
}
for(i4=1;i4<5;i4++)/*這是五角星的下面兩個角*/
{
for(j4=1;j4<10-i4;j4++)
printf("");
for(k4=1;k4<=10-2*i4;k4++)
printf("*");
for(m4=1;m4<6*i4-3;m4++)
printf("");
for(n4=1;n4<=10-2*i4;n4++)
printf("*");
printf(" ");
}
printf(" ");
}
運行截圖:
Ⅳ C語言中關於畫圓程序
#include<stdio.h>
#include<math.h>
main()
{
double y;
int x,m;
for(y=10;y>=-10;y--) //表示圖形的第y行,通過for循環列印所有行
{
m=2.5*sqrt(100-y*y); //用y作為自變數,根據弦長與縱坐標y的函數關系計算出此行上的弦 長的一半也就是兩個星形符號之間的距離的一半,並用m表示。
for(x=1;x<50-m;x++) //以50個字元長度為基準根據弦長來確定每行左數第一個星形的位 置,此位置前全印空格
printf(" ");
printf("*");
for(;x<50+m;x++) //以50個字元寬度為基準來確定每行第二個星形的位置
printf(" ");
printf("*\n");
}
}
//此程序列印的只是個大概的圓形,因為運行輸出窗口裡,相鄰的行距和鄰字元的列距是不相等的,所以語句 m=2.5*sqrt(100-y*y);中的2.5是用來修正此誤差的。可根據具體運行平台適當修改。 如果還看不懂,再問
Ⅵ 怎樣用C語言畫圓
#include <windows.h>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char* argv[])
{
char arg[50]={0};
arg[0]= '\ " ';
strcpy(arg+1,argv[0]);
int len=int(strlen(arg));
arg[len]= '\ " ';
HWND hWnd=FindWindow(NULL,arg); //找到程序運行窗口的句柄
HDC hDC=GetDC(hWnd);//通過窗口句柄得到該窗口的設備場境句柄
HPEN hPen,hOldPen; //畫筆
int i=0;
for(;i <500;++i)
SetPixel(hDC,10+i,10+i,0x0000ff);//用畫點的辦法畫一根線,最後一個參數是顏色(32位)
hPen=CreatePen(PS_SOLID,2,0x00ff00);//生成綠色畫筆
hOldPen=(HPEN)SelectObject(hDC,hPen);//把畫筆引入設備場境
MoveToEx(hDC,20,50,NULL); //設置畫線起點
LineTo(hDC,520,550); //畫到終點
Arc(hDC,100,100,300,300,350,500,350,500);//畫圓
SelectObject(hDC,hOldPen);
ReleaseDC(hWnd,hDC);
//下面是對比,表明它確實是控制台程序
printf( "hello console ");
system( "pause ");
return 0;
}