在c语言中怎样打印一个正三角形

来源:百度知道 编辑:UC知道 时间:2024/06/10 15:48:54

你是问图形模式还是文本模式?

文本模式:(需计算:80/(25*n)!=sqrt(3),因此文本模式下的正三角形不严格)
下面仅为一示意图

#include<stdio.h>
int main()
{
printf(" * ")
printf(" * * ")
printf(" * * ")
printf("* * * * * * *")
return(0);
}

图形模式下可画的更严格:

思路是:先写一个程序解出(640,480)*(640,480)中正三角形的整数解,再用画线函数,画出。

/*此代码有问题,运行最后的那个程序*/
#include<stdio.h>
#include<math.h>
#include<conio.h>
#define P(a,b,i,j) (pow((ai-aj),2)+pow((bi-bj),2))
int main()
{
int x1,y1,x2,y2,x3,y3;

for(x1=0,y1=0;x1<480;x1++)for(x2=479,y2=1,y2<480;y2++)for(x3=0,y3=479;y3>=0;y3--)if(P(x,y,1,2)==P(x,y,1,3)&&P(x,y,1,2)==P(x,y,2,3))printf("%6d%6d%6d%6d%6d%6d",x1,y1,x2,y2,x3,y3);

int gd=DETECT,gm;
initgraph(&gd,&gm,"c:\\tc201e\\bgi");
cleardevice();

setbkcolor(