#include #include void X(int N){ int x,y; for(y=0;y<=N;y++){ for(x=0;x<=N;x++){ if(y==x || y==-x+N) printf("*"); else printf(" "); } printf("\n"); } } void K(int N){ int x,y; for(y=0;y<=N;y++){ for(x=0;x<=N;x++){ if(y==int(0.5*(double)x+(double)N*0.5) || x==0 || y==int(-0.5*(double)x+(double)N*0.5)) printf("*"); else printf(" "); } printf("\n"); } } void O(int N){ int x,y; double r; r=0.5*(double)N; for(y=0;y<=N;y++){ for(x=0;x<=N;x++){ if(y==int(sqrt(r*r-((double)x-r)*((double)x-r))+r) || y==int(-1.0*sqrt(r*r-((double)x-r)*((double)x-r))+r)) printf("*"); else printf(" "); } printf("\n"); } } void main(void) { X(20);//表示させたい段数を引数に printf("\n"); K(20); printf("\n"); O(20); }