안녕하세요. 스마트팩토리입니다.
c언어 실습 <a002> 이중 for 문을 이용한 다양한 모양 출력하기이중 for 문을 이용한 다양한 모양 출력하기 (x모양)를 통해 실습해 보겠습니다.
초기에는 실습할 것이 많은데 물론 알수록 더 많이 해야겠지만 말이지요.
꾸준히 연습에 연습을 하면 점점 익숙해 지지 않을까 생각합니다.
실습의 기준은 없고 이론을 나가면서 빠진 부분이 있으면 지속적으로 업로드 하도록 하겠습니다.
이중 for 문을 활용할 것, "*" 을 이용할 것
#include<stdio.h>
void main() {
for (int i = 0; i <= 5; i++) {
for (int j = 0; j <= i; j++) {
printf("*");
}
printf("\n");
}
}
* 표시나 숫자를 넣는 것은 동일합니다.
내부 for 문에서 숫자가 출력할 수 있도록 해야 합니다.
#include<stdio.h>
void main() {
for (int i = 1; i <= 5; i++) { --> 0은 제외하고 1부터 시작했습니다.
for (int j = 1; j <= i; j++) {
printf("%d", j); --> 숫자로 표기하기 위해서~서식을 변경
}
printf("\n");
}
}
거꾸로 출력하는 방법
1번을 해결했다면 어렵지 않게 해결할 수 있습니다.
이중for 문에서 내부 for문을 파악하는게 중요하다하겠습니다. 증감식에서 감소하는 것으로 하면 역순이 됩니다.
#include<stdio.h>
void main() {
for (int i = 0; i <= 5; i++) {
for (int j = 5; j >= i; j--) {
printf("*");
}
printf("\n");
}
}
주석처리한 부분은 삭제 했습니다.
#include<stdio.h>
void main() {
for (int i = 1; i <= 5; i++) {
for (int j = 5; j >= i; j--) {
printf("%d", j);
printf("\n");
}
}
순차로 나오도록 하기 위해서 숫자 조정을 했습니다.
#include<stdio.h>
void main() {
for (int i = 1; i <= 5; i++) {
for (int j = 5; j >= i; j--) {
printf("%d", (6-j));
}
printf("\n");
}
}
#include<stdio.h>
void main() {
for (int i = 0; i <= 5; i++) {
for (int j = 0; j <= i; j++) {
if (j == i) {
printf("*");
}
else printf(" ");
}
printf("\n");
}
}
곱하기 대신 숫자를 넣으면 숫자로 표기됩니다.
#include<stdio.h>
void main() {
for (int i = 0; i <= 5; i++) {
for (int j = 0; j <= i; j++) {
if (j == i) { --> i 와j 가 같을때만 출력하게 하기 위해서 입니다.
printf("%d",i);
}
else printf(" ");
}
printf("\n");
}
}
#include<stdio.h>
void main() {
for (int i = 0; i <= 5; i++) {
for (int j = 5; j >= i; j--) {
if (j == i) {
printf("*");
}
else printf(" ");
}
printf("\n");
}
}
#include<stdio.h>
void main() {
for (int i = 1; i <= 5; i++) {
for (int j = 5; j >= i; j--) {
if (j == i) {
printf("%d",j);
}
else printf(" ");
}
printf("\n");
}
}
x 모양을 출력하는 프로그램입니다.
이중 for 문과 if문 else문 까지 사용하면 됩니다.
#include<stdio.h>
void main() {
for (int i = 1; i <= 5; i++) {
for (int j = 1; j <=5; j++) {
if (i==j) {
printf("*");
}
else if (i+j==6){
printf("*"); }
else printf(" ");
}
printf("\n");
}
}
조금더 큰 엑스자를 만들려면 범위를 크게 하면 됩니다. 단 홀수로 말이지요.
#include<stdio.h>
void main() {
for (int i = 1; i <= 11; i++) {
for (int j = 1; j <=11; j++) {
if (i==j) {
printf("*");
}
else if (i+j==12){
printf("*"); }
else printf(" ");
}
printf("\n");
}
}
짝수로 하면 중간에 겹치는 부분이 나옵니다.
이중 for 문을 제대로 이해하고 있으면 충분히 c 언어의 초급은 마무리 되었다고 할 수 있습니다.
'C 언어' 카테고리의 다른 글
c 언어[018] 비트연산자(1) <<,>>쉬프트연산자, &(and), |(or) (1) | 2021.02.24 |
---|---|
c 언어[017] 사용자 정의 함수 (7) | 2020.10.13 |
c 언어[016] 이중for문 2단부터 9단까지 출력하는 프로그램 (0) | 2020.10.11 |
c 언어[015] for반복문 if문, break, 1부터 100까지 합을 구하면서 중간에 합이 1000이 넘어갈 때의 값을 알아보는 프로그램, continue,1부터 100까지 홀수의 합 (0) | 2020.10.11 |
c 언어[014] switch - case문 - break 형식과 실행 (0) | 2020.10.10 |
댓글