문자열로 다이아몬드 모양 만들기 소스
알파벳으로 아래의 모양을 만들어 보겠습니다.
(블로그에서는 앞에 공백이 짤리네요^^. 아래 그림 참조^^)
MN
LMNO
KLMNOP
JKLMNOPQ
IJKLMNOPQR
HIJKLMNOPQRS
GHIJKLMNOPQRST
FGHIJKLMNOPQRSTU
EFGHIJKLMNOPQRSTUV
DEFGHIJKLMNOPQRSTUVW
CDEFGHIJKLMNOPQRSTUVWX
BCDEFGHIJKLMNOPQRSTUVWXY
ABCDEFGHIJKLMNOPQRSTUVWXYZ
BCDEFGHIJKLMNOPQRSTUVWXY
CDEFGHIJKLMNOPQRSTUVWX
DEFGHIJKLMNOPQRSTUVW
EFGHIJKLMNOPQRSTUV
FGHIJKLMNOPQRSTU
GHIJKLMNOPQRST
HIJKLMNOPQRS
IJKLMNOPQR
JKLMNOPQ
KLMNOP
LMNO
MN
전체 소스 (문자열로 다이아몬드)
main()
{
char *chData=”ABCDEFGHIJKLMNOPQRSTUVWXYZ”;
int iLength;
int iSpaceCount;
int i=0;
int j=0;
iLength = strlen(chData);
// 출력할 각 라인들
for (i=1;i<iLength;i++)
{
printf(“n”); // 일단 다음줄로 바꾸고
// 앞에 공백 수를 계산한후
iSpaceCount = abs(iLength/2-i);
// 앞의 공백을 출력
for(j=0;j<iSpaceCount;j++)
{
printf(” “);
}
// 나머지 문자열 출력
for(j ;j<iLength-iSpaceCount;j++)
{
printf(“%c”,chData[j]);
}
}
getch();
}