#include <stdio.h> void star1(); void star2(); void star3(); void star4(); main() { star1(); star2(); star3(); star4(); }
void star1(){ int a,b; for(a=0;a<5;a++)
{ for(b=0;b<=a;b++){ printf("*"); } printf("\n"); }
}
void star2(){ int a,b; for(a=5;a>0;a--)
{ for(b=0;b<a;b++){ printf("*");
} printf("\n"); } }
void star3(){ int a,b,c; for(a=5;a>0;a--) { for(b=0;b<a-1;b++){ printf(" "); } for(c=0;c<5-b;c++){ printf("*"); } printf("\n"); } }
void star4(){ int a,b,c; for(a=0;a<5;a++) { for(b=a;b>0;b--){ printf(" "); } for(c=5;c>a;c--){ printf("*"); } printf("\n"); } } |
|
이제는 소스가 조금 길어지네요.. 그렇다고 너무 복잡하게 생각 하실 필요는 없어요. star1,2,3,4 함수들 내부를 들여다 보면 이전에 봤던 별찍기 소스들이 들어 있을 뿐이니까요.. main()함수 안에는 star함수를 호출하는 문장 밖에 없구요..
이건 단순하게 함수들을 한번씩 호출하는게 끝이지만 메인함수를 조금만 손보면....? |
for문으로 별찍기 : 2013/11/05 - c언어 for문 별찍기
#include <stdio.h> void star1(); void star2(); void star3(); void star4(); main() { int m=0; printf("-1은 종료, 1~4까지 입력 가능\n"); while(m!=-1) { scanf("%d",&m); switch(m) { case 1: star1(); break; case 2: star2(); break; case 3: star3(); break; case 4: star4(); break; default: printf("잘못된 값 입력입니다. 1~4사이만 입력가능"); break; } }
}
void star1(){ int a,b; for(a=0;a<5;a++)
{ for(b=0;b<=a;b++){ printf("*"); } printf("\n"); }
}
void star2(){ int a,b; for(a=5;a>0;a--)
{ for(b=0;b<a;b++){ printf("*");
} printf("\n"); } }
void star3(){ int a,b,c; for(a=5;a>0;a--) { for(b=0;b<a-1;b++){ printf(" "); } for(c=0;c<5-b;c++){ printf("*"); } printf("\n"); } }
void star4(){ int a,b,c; for(a=0;a<5;a++) { for(b=a;b>0;b--){ printf(" "); } for(c=5;c>a;c--){ printf("*"); } printf("\n"); } } |
|
입력 받은 숫자에 해당하는 별모양을 계속 출력합니다. -1을 입력 받으면 종료하구요. 맨 처음 소스에서 메인 함수만은 조금 변경 시켜보았어요 |
동영상
'IT > Programing' 카테고리의 다른 글
c언어 배열(1차원) (0) | 2013.11.27 |
---|---|
c언어 전역 변수, 지역 변수, 매크로 변수 (1) | 2013.11.10 |
c언어 for문 별찍기 (0) | 2013.11.05 |