c언어 삼각형 만들기
- 프로그래밍/C언어
- 2018. 1. 4.
안녕하세요.
이번에는 별로 삼각형만들기에 대하여 말하려고 합니다.
이 내용은 반복문이 사용되었으며 반복문에 대한 설명은 아래 글들을 봐주시기 바랍니다.
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문
위의 내용들은 제가 반복문에 대하여 나누어 설명한 글들입니다.
지금부터 만들 삼각형은 *모양과 공백을 사용하도록 하겠습니다.
또 이 삼각형에서는 짝수는 입력받지 않겠습니다.(즉 짝수를 입력받으면 다시 입력을 받도록 합니다.)
홀수를 입력받으면 삼각형을 만들고 다시 입력하면 다시한번 삼각형을 만들 수 있습니다.
마지막으로 한번 삼각형을 그리고 다시한번 숫자를 입력하면 그 전에 그렸던 삼각형이 지워지고 새로운 삼각형이 그려집니다.
위의 조건을 만족하는 삼각형의 코드는 아래와 같습니다.
아 여기다 복사 붙여넣기를 했는데 들여쓰기가 잘 안보이네요.
코드만 대충 봐주시고 자세한 것들은 아래의 파일에 있으니 그것으로 보세요.
#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를 입력해 출력한 모습입니다.
아래의 또 다른 사진은 저 위의 사진에서 다시입력을 한 것입니다.
저는 이렇게 반복문으로 삼각형을 만들었지만 이것을 잘 사용한다면 이것 말고도 다양한 것들을 만들 수 있습니다.