#include <stdio.h> #include <math.h> #define R 10 #define LINE 62 #define HIGHT 20 int main() { double y; int layer,x,m,n; for( layer=HIGHT; layer>=-R; --layer) { y=layer; m=(int)(1.5*sqrt(R*R-y*y)); n=(int)( 5*sqrt(y)); for(x=0; x<LINE; ++x) { if(y>=0) { if(y>R) { if (x==31+n || x==31-n) printf("$"); else printf(" "); } else { if ((x==31+m && x==31+n)|| (x==31-m && x==31-n)) printf("+"); else if (x==31+m || x==31-m) printf("*"); else if (x==31+n || x==31-n) printf("$"); else printf(" "); } } else { if (x==31+m || x==31-m) printf("*"); else printf(" "); } } printf("/n"); } return 0; } Output: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ * $ $ * * $ $ * * $ $ * * $ + + *$ $* * $ $ * * $ $ * * $ $ * * $ $ * * $ * * * * * * * * * * * * * * * * * * * *