#include <math.h>
#include <windows.h>
#define PI 3.14159
//參數
#define TOP 13
#define MIDX 40
#define R 15
void gotoxy(int x, int y)
{
COORD point;
point.X = x; point.Y = y;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),
point);
}
int main()
{
double X,Y,r,thata;
int x=0,y=0;
for(thata=0;thata<PI;thata+=0.2)
{
r=R*thata;
Y=TOP-r*cos(thata);
X=r*sin(thata)+MIDX;
x=(int)X;
y=(int)Y/2;
gotoxy(x,y);
putchar('*');
X=MIDX-r*sin(thata);
x=(int)X;
gotoxy(x,y);
putchar('*');
}
gotoxy(MIDX,y+1);
putchar('*');
getchar();
return 0;
}
或者
#include<stdio.h>
int i,j,k;
void f1()
{ for(j=1;j<=4-i;j++)
printf(" ");
}
void f2()
{ for(k=1;k<=2*i+2;k++)
printf("X");
}
void main()
{printf(" XX XX \n");
for(i=2;i<=4;i++)
{f1();
f2();
f1();
f1();
f2();
f1();
printf("\n");
}
for(i=5;i<=14;i++)
{for(j=0;j<i-5;j++)
printf(" ");
for(k=1;k<=30-2*i;k++)
printf("X");
printf("\n");
}
getchar();
}