當前位置:首頁 » 編程語言 » C語言繪制實心正方形
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

C語言繪制實心正方形

發布時間: 2023-03-05 06:07:54

『壹』 c程序中,如何讓字元按照實心矩形輸出,調用函數

c語言程序中,只要輸入實心矩形的邊長以及構成矩形的字元,就可以使用2重循環,把這個矩形進行輸出。
int n,i,j;
char c;
scanf("%d %c",&n,&c);
for(i=0;i<n;i++)
{for(j=0;j<n;j++)
printf("%c",c);
printf("\n");
}
輸入數據時,表示邊長的數字和字元之間留一個空格。

『貳』 C語言怎樣畫正方體

#include <graphics.h>

#include <stdio.h>

#include <conio.h>

#include<math.h>

main()

{

int r,q,w,color;

int gdriver=DETECT,gmode; /*設置圖形驅動*/

int Bresenham_Ciecle(); /*定義子函數*/

printf("please input the centre of a circle x0,y0\n");

scanf("%d,%d",&q,&w);

if(q>=320||q<=-320||w<=-250||w>=250)

{printf("please input the centre of a circle again x0,y0\n");

scanf("%d,%d",&q,&w);} /*輸入圓心位置越界輸出信息*/

printf("please input the numble of radius r=");

scanf("%d",&r);

if(r<=0||r>=500)

{

printf("r is error,r>0,please input the numble of r=");

scanf("%d",&r);

}/*輸入半徑*/

printf("please input the numble of color=");

scanf("%d",&color);

initgraph(&gdriver,&gmode,"D:\\TC");

setcolor(color);/*設置圖形顏色*/

Bresenham_Ciecle(q,w,r,color); /*繪圖*/

getch();

}

Bresenham_Ciecle(int q,int w,int r,int color)

{

int x,y,t,v,delta,delta1,delta2,direction;

char buffera[20];

char bufferb[20];

t=getmaxx()/2;

v=getmaxy()/2; /*選定圓心*/

sprintf(buffera, "(%d,%d)", q,w); /*列印圓心坐標*/

sprintf(bufferb, "(0,0) R=%d",r); /*列印原點坐標及半徑*/

moveto(t,v+4);

outtext(bufferb); /*圓點坐標定位輸出*/

q=q+t;w=v-w;

moveto(q,w);

outtext(buffera);/*原點坐標定位輸出*/

line(1,v,2*t,v);

line(t,2*v,t,1);/*畫坐標*/

x=q; y=r+w;

line(q, w, x, y); /*畫半徑*/

delta=2*(1-r);

while(y-w>=0)

{

putpixel(x,y,color); /*右下方1/4個圓*/

putpixel(2*q-x,y,color);/*右上方1/4個圓(從右下方1/4個圓對稱復制)*/

putpixel(x,2*w-y,color);/*左下方1/4個圓(從右下方1/4個圓對稱復制)*/

putpixel(2*q-x,2*w-y,color);/*左上方1/4個圓(從右下方1/4個圓對稱復制)*/

if(delta<0)

{

delta1=2*(delta+y-w)-1;

if(delta1<=0) direction=1;

else direction=2;

}

else if(delta>0)

{

delta2=2*(delta-x+q)-1;

if(delta2<=0) direction=2;

else direction=3;

}

else

direction=2;

switch(direction)

{

case 1: x++;

delta+=2*(x-q)+1;

break;

case 2: x++;

y--;

delta+=2*(1+x-y-q+w);

break;

case 3: y--;

delta+=-2*(y-w)+1;

break;

}

}

}

『叄』 用C語言怎樣畫正方形

根據你的編譯器的繪圖函數.

有的有繪 rect 函數, (參數,4個角點坐標. 或一個角點坐標和長寬值).
那你用循環語句依次畫長寬相等的矩型.

如果只有畫直線函數.
那你用循環語句依次調 MoveTo, LineTo 按 角點坐標 畫直線.

『肆』 用c語言畫矩形

每行起始和結束字元均是你的第3個參數
矩形第1行和最後一行中間是第3個參數,其他行根據第4個參數決定是空格或者第3個參數
程序可以這樣寫:
...
for ( m=0;m<a;m++ )
{
printf("%c",c); //第1列
if ( m==0 || m==a-1 ) //第1行和最後一行
for ( n=1;n<b-1;n++ ) printf("%c",c);
else //中間的行
for ( n=1;n<b-1;n++ ) if ( d==0 ) printf(" "); else printf("%c",c); //空心或否
printf("%c\n",c); //最後1列
}
或者可以寫:
for ( m=0;m<a;m++ )
{
printf("%c",c); //第1列
if ( m==0 || m==a-1 || d!=0) for ( n=1;n<b-1;n++ ) printf("%c",c);
else for ( n=1;n<b-1;n++ ) printf(" ");
printf("%c\n",c); //最後1列
}

『伍』 C語言編寫輸出圖正方形

根據題意可得代碼:

#include<stdio.h>
intmain()
{
inti,j;
for(i=0;i<5;++i){
if(i==0||i==4){
for(j=0;j<5;j++){
printf("*");
}
printf(" ");
}
else{
for(j=0;j<5;j++){
if(j==0||j==4)printf("*");
elseprintf("");
}
printf(" ");
}
}
return0;
}

『陸』 C語言編寫一個程序輸出一個正方形

思路:輸出正方形即輸出正方形的外圍就行,外圍有個特點就是行列下標必有0或者是正方形的大小減一,輸入一個n表示正方形大小,輸出一個由*組成的正方形。

參考代碼:

#include<stdio.h>
intmain()
{
inti,j,n;
scanf("%d",&n);
for(i=0;i<n;i++){
for(j=0;j<n;j++){
if(i==0||i==n-1||j==0||j==n-1)
printf("*");
else
printf("");
}
printf(" ");
}
return0;
}
/*
輸出:
5
*****
**
**
**
*****
*/

『柒』 用c語言來畫1個正方體,一個簡單的程序。。

void far bar3d(int x1, int y1, int x2, int y2,int depth,int topflag);當

topflag為非0時, 畫出一個三維的長方體。當topflag為0時,三維圖形不封頂,

實際上很少這樣使用。

void far setfillstyle(int pattern, int color); color的值是當前屏幕圖形

模式時顏色的有效值,SOLID_FILL 1 以實填充

void far floodfill(int x, int y, int border);
其中:x, y為封閉圖形內的任意一border為邊界的顏色,也就是封閉圖形輪廓的

顏色。調用了該函數後,將用規定的顏色和圖模填滿整個封閉圖形。

#include<stdlib.h>
#include<graphics.h>
main()
{
int gdriver, gmode;
struct fillsettingstype save;
gdriver=DETECT;
initgraph(&gdriver, &gmode, "");
setbkcolor(BLUE);
cleardevice();
setcolor(LIGHTRED);
setlinestyle(0,0,3);
setfillstyle(1,14); /*設置填充方式*/
bar3d(100,200,400,350,200,1); /*畫長方體並填充*/
floodfill(450,300,LIGHTRED);
/*填充長方體另外兩個面*/
floodfill(250,150, LIGHTRED);

getch();
closegraph();
}