C언어에서 반복문을 공부하다가 보면 꼭 나오는 문제가 존재 한다.
별 삼각형 만들기라는 문제로 여러 가지 형태가 나오지만 나는
간단한 형태 9가지만 작성해 보았다.
여기에 올린 소스는 가장 무난하게 작성 한 것으로 내가 할 수 있는 최적의 방법이다.
하지만 다른 분들에게는 최적이 아닐 수도 있을 것이다.
그러니 어쩌다가 이 글을 보게 되면 조언 정도를 해 주리라 믿겠습니다~^^
/**********************************************************************************
제 목 : 별 삼각형 알고리즘1
작성자 : 배기만
날 짜 : 2009. 7. 27
방 법 : 별 갯수의 최대가 5일때
*
* *
* * *
* * * *
* * * * *
이런식으로 나타나도록 함
**********************************************************************************/
#include<stdio.h>
#define MAX 5
void main()
{
int i, j;
for(i = 0; i < MAX; i++)
{
for(j = 0; j <= i; j++)
{
printf("* ");
}
printf("\n");
}
}
/**********************************************************************************
제 목 : 별 삼각형 알고리즘2
작성자 : 배기만
날 짜 : 2009. 7. 27
방 법 : 별 갯수의 최대가 5일때
*
* *
* * *
* * * *
* * * * *
이런식으로 나타나도록 함
**********************************************************************************/
#include<stdio.h>
#define MAX 5
void main()
{
int i, j;
int count = MAX - 1;
for(i = 0; i < MAX; i++)
{
for(j = 0; j < MAX; j++)
{
if(j >= count)
{
printf("* ");
}
else
{
printf(" ");
}
}
count--;
printf("\n");
}
}
/**********************************************************************************
제 목 : 별 삼각형 알고리즘3
작성자 : 배기만
날 짜 : 2009. 7. 27
방 법 : 별 갯수의 최대가 5일때
* * * * *
* * * *
* * *
* *
*
이런식으로 나타나도록 함
**********************************************************************************/
#include<stdio.h>
#define MAX 5
void main()
{
int i, j;
int count = 0;
for(i = 0; i < MAX; i++)
{
for(j = 0; j < MAX; j++)
{
if(j >= count)
{
printf("* ");
}
else
{
printf(" ");
}
}
count++;
printf("\n");
}
}
'Algorithm' 카테고리의 다른 글
별삼각형 알고리즘(반복문)3 (0) | 2009.07.27 |
---|---|
별삼각형 알고리즘(반복문)2 (0) | 2009.07.27 |
지그재그 알고리즘(반복문, 배열) (0) | 2009.07.23 |
골뱅이 알고리즘(반복문, 배열) (0) | 2009.07.23 |
빗살무늬 알고리즘(반복문, 배열) (0) | 2009.07.22 |