c언어 삼각형 만들기

안녕하세요.

이번에는 별로 삼각형만들기에 대하여 말하려고 합니다.

이 내용은 반복문이 사용되었으며 반복문에 대한 설명은 아래 글들을 봐주시기 바랍니다.

2017/11/05 - [IT/C] - c언어 if문 else문

2017/11/07 - [IT/C] - c언어 switch문

2017/11/09 - [IT/C] - c언어 while문과 do-while문

2017/11/15 - [IT/C] - c언어 for문

위의 내용들은 제가 반복문에 대하여 나누어 설명한 글들입니다.

지금부터 만들 삼각형은 *모양과 공백을 사용하도록 하겠습니다.

또 이 삼각형에서는 짝수는 입력받지 않겠습니다.(즉 짝수를 입력받으면 다시 입력을 받도록 합니다.)

홀수를 입력받으면 삼각형을 만들고 다시 입력하면 다시한번 삼각형을 만들 수 있습니다.

마지막으로 한번 삼각형을 그리고 다시한번 숫자를 입력하면 그 전에 그렸던 삼각형이 지워지고 새로운 삼각형이 그려집니다.

 

위의 조건을 만족하는 삼각형의 코드는 아래와 같습니다.

아 여기다 복사 붙여넣기를 했는데 들여쓰기가 잘 안보이네요.

코드만 대충 봐주시고 자세한 것들은 아래의 파일에 있으니 그것으로 보세요.

re.c
다운로드

#include <stdio.h>
#include <windows.h>
int main()
{
	int num,q,w,j;  
	while(1)  
	{
 		printf("입력");
		scanf("%d",&num);
		while(1)
		{
			if(num%2==0){  //입력받은 num을 2로나누었을때 나머지가 0이면 짝수입니다.
				printf("짝수,다시입력");  
				scanf("%d",&num);    //짝수이니 다시입력받습니다.
			}
			else if(num%2==1)  //입력받은 num을 2로나누어 나머지가 1이면 홀수입니다.
			{
				printf("홀수\n"); //이중for문을 이용하였습니다.
                for(q=1;q<=num;q++)
				{
					for(w=num-1;w>=q;w--){
      					printf(" ");  //위의 조건을 만족하면 공백을 찍습니다.
					}
					for(j=1;j<=2*q-1;j++)
					{
						printf("*");  //위의조건을 만족하면 별을 찍습니다.
					}
					printf("\n");
				}
                printf("모두 그림 다시입력");
                scanf("%d",&num);
                system("cls");  //모두 다 끝나고 다시입력을 받은 후 지금까지 그린것들을 지웁니다.
			}
		} 
	}
	return 0;
}

위에 코드에 간단하게 써놓았는데요. 아무래도 코드 자체는 위에 올려놓은 파일을 보는게 더 편할 것 같습니다.

블로그가 문제인건지 이놈의 들여쓰기가 매일 문제네요.

 

아래는 위의 코드를 실행하였을 때의 사진입니다.

먼저 짝수를 입력하고 그후 다시입력하라는 문구가 나온후 5를 입력해 출력한 모습입니다.

아래의 또 다른 사진은 저 위의 사진에서 다시입력을 한 것입니다.

저는 이렇게 반복문으로 삼각형을 만들었지만 이것을 잘 사용한다면 이것 말고도 다양한 것들을 만들 수 있습니다.

Designed by JB FACTORY