-
1) 피라미드
12345678910111213141516171819202122232425#include <stdio.h>void main(){int line;int star;int vp;for (line=1; line < 6; line++) {for (vp=0; vp <= 4 - line; vp++) {printf(" ");}for (star=0; star < (2 * line) - 1; star++) {printf("*");}printf("\n");}}cs 2. 다이아몬드 (5줄)
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162#include <stdio.h>void main(){int line = 0; // 줄 갯수int star = 1; // 별의 갯수int vp = 1; // 빈공간 갯수int branchPoint = 3; // 다이아몬드 가로 반지름(증가, 감소 분기점)for (line = 1; line < 6; line++) {int i = 0;int j = 0;if (line == branchPoint + 1) { //만약 4로 넘어가면 star와 vp 변수를 초기화 시킴star = 2;vp = 2;}if (line <= branchPoint) { //현재 line 번호 가 반지름에 해당하는 라인 번호보다 작을 경우는 : 별은 증가하고, 빈 공간은 감소한다. (상단부)for (i = 0; i < 4-vp; i++) {printf(" ");}vp++;for (j = 0; j < (2 * star) - 1; j++) {printf("*");}star++;}else { //만약 line 번호가 반지름에 해당하는 라인 번호 보다 커진다면 : 빈 공간은 증가하고 별은 감소한다. (하단부)for (i = 0; i < vp; i++) {printf(" ");}vp++;for (j = 0; j < (2 * star) - 1; j++) {printf("*");}star--;}//모든 for문이 돌고 난 후 한 칸 띄우기printf("\n");}}cs 3. 원하는 홀수 줄 입력받아서 다이아몬드 만들기
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182#include <stdio.h>void main(){int line = 0; // 줄 갯수int star = 1; // 별의 갯수int vp = 1; // 빈공간 갯수//입력 받는 부분printf("******************* 신기하고 재미있는 별찍기 프로그램 *******************");puts("");printf("출력할 라인 수를 입력하세요.");puts("");scanf_s("%d", &line);//유효성 검사if (line % 2 == 0) {printf("홀수가 아닙니다. 홀수만 입력해 주세요~");puts("");return;}//입력 받은 숫자 확인printf("출력할 라인 수 : %d", line);puts("");int branchPoint = (line/2)+1; // 다이아몬드 가로 반지름(증가, 감소 분기점)int s;for (s = 1; s < line+1; s++) {int i = 0;int j = 0;if (s == branchPoint + 1) { //만약 분기점 넘어가면 star와 vp 변수를 초기화 시킴star = branchPoint-1;vp = branchPoint-1;}if (s <= branchPoint) { //현재 line 번호 가 반지름에 해당하는 라인 번호보다 작을 경우는 : 별은 증가하고, 빈 공간은 감소한다. (상단부)for (i = 0; i < (line-1) - vp; i++) {printf(" ");}vp++;for (j = 0; j < (2 * star) - 1; j++) {printf("*");}star++;}else { //만약 line 번호가 반지름에 해당하는 라인 번호 보다 커진다면 : 빈 공간은 증가하고 별은 감소한다. (하단부)for (i = 0; i < vp; i++) {printf(" ");}vp++;for (j = 0; j < (2 * star) - 1; j++) {printf("*");}star--;}//모든 for문이 돌고 난 후 한 칸 띄우기printf("\n");}}cs