PGR21.com
- PGR21 관련된 질문 및 건의는 [건의 게시판]을 이용바랍니다.
- (2013년 3월 이전) 오래된 질문글은 [이전 질문 게시판]에 있습니다.
통합 규정을 준수해 주십시오. (2015.12.25.)
Date 2017/04/05 17:20:56
Name 올드패션드
Subject [질문] 간단한 C 프로그래밍 for문 관련 질문입니다.
안녕하세요

출력을

1******
12*****
123****
1234***
12345**
123456*
1234567
이렇게 하는 문제를 푸는중입니다.


저는 아래처럼 그냥 막 가는대로 써봤고
#include

int main()
{
        int a, b;
        int c = 1;



        for (a = 1; a <= 7; a++)
        {
                for (b = 1; b <= a; b++)
                {
                                if (c > b)
                                        c = 1;
                                else{
                                        c = b;
                                }
                                printf("%d", c++);
                }
                
                printf("*n");
        }
        printf("n");
}

그 결과
1*
12*
123*
1234*
12345*
123456*
1234567*

이런식으로 출력이 되네요.
사실 맞는 방향으로 풀고 있는지도 잘 모르겠습니다. 도움 부탁드립니다.

통합규정 1.3 이용안내 인용

"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.
법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
MirrorShield
17/04/05 17:23
수정 아이콘
c를 왜 쓰셨는지 모르겠어요. 그냥 숫자를 출력할거면 b를 출력하면 될텐데요.

c에 관련된건 아예 전부 필요가 없는 사족이고, *을 반복해서 출력하는 부분이 빠져있네요.

그부분만 추가하시면 될거같습니다.
올드패션드
17/04/05 17:28
수정 아이콘
문제 풀기 전에 변수 3개 써야 될거라고 들어가지고 일단 3개 도입하고 시작하긴 했습니다.
풀면서 실행하다보니까
1*
23*
456*
78910*
이런식으로 출력되게 짠 경우가 있었는데요. 매 줄 시작을 1로 고정할려고 무언가 추가할려다가 본문과 같이 썼습니다.
몰아치는간지폭풍
17/04/05 17:26
수정 아이콘
힌트: for (b = 1; b <= 7; b++)
올드패션드
17/04/05 18:17
수정 아이콘
힌트 감사합니다.
써니는순규순규해
17/04/05 17:28
수정 아이콘
힌트: for (c = a; c <= 7; c++)
올드패션드
17/04/05 18:16
수정 아이콘
다른 힌트 바탕으로 변수 두개만 써 봤는데 세개 쓰는 경우는 어떻게 짤 수 있을까요?
하루빨리
17/04/05 19:00
수정 아이콘
써니는순규순규해님이 제시하신 방법은 if문을 쓰지 않는 방법입니다.
즉, a를 기준으로 b영역과 c영역을 나누고 b영역은 숫자찍고 c영역은 별 찍는 방식이죠.

이 경우 for문을 3개 써야 합니다. 하지만 이 문제에서 for문을 3개 쓴다 해도 삼중 for문이 아닌 이중 for문이기 때문에 변수는 두개만 있으면 됩니다.
위에 보니 1~10을 4열에 찍는 문제가 있는데, 이 경우는 열 바뀔때 숫자가 초기화 되면 안되기 때문에 출력할 숫자를 카운터 할 변수 c를 따로 둔 것이죠.
하루빨리
17/04/05 17:39
수정 아이콘
좀 더 쉬운 힌트를 드리자면
a가 열이고, b가 행이라고 한다면 열과 행은 7로 고정인것이죠.
1열은 숫자 1까지, 2열은 숫자 2까지 3열은 숫자 3까지 나머지는 별 찍는거니 이부분을 if로 구분해서 찍으면 됩니다.
올드패션드
17/04/05 18:15
수정 아이콘
감사합니다. 결정적인 힌트덕분에 해결했습니다.
마루하
17/04/05 17:55
수정 아이콘
int a, b;

for (a = 1; a <= 7; a++)
{
for (b = 1; b <= 7; b++)
{
if (b < a){
printf("%d", b);
}
else{
printf("*");
}
}
printf("n");
}
올드패션드
17/04/05 18:20
수정 아이콘
해결하고 왔습니다. 거의 동일하게 썼는데
b<a 이 부분인 b<=a로 썼습니다. 감사합니다.
시노부
17/04/05 18:30
수정 아이콘
for (int icnt = 1; icnt <= 7; icnt++)
{
for (int j =1; j <= 7; j++)
{
if (icnt < j) printf("[*]");
else printf("[%d]", j);
}
printf("n");
}

...어, 위에 비슷한 소스 있네요 크크
MDIR.EXE
17/04/05 20:28
수정 아이콘
char txt[]="*******";
for (i=0;i<7;i++)
{
txt[i]=i+'1';
printf("%s₩n",txt);
}

출제 의도와 다르겠지만 이런 풀이도 가능합니다.
17/04/06 03:50
수정 아이콘
하지만 실무는 결국

printf("1******\n");
printf("12*****\n");
printf("123****\n");
printf("1234***\n");
printf("12345**\n");
printf("123456*\n");
printf("1234567\n");

크크
일반회원
17/04/06 14:16
수정 아이콘
실무네요.
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
100648 [질문] 중간은 되는 그래픽 카드 사려면 어느정도 사야 하나요? [5] 핸드레이크2581 17/04/06 2581
100647 [질문] 영상편집을 배우고자합니다. 프리미어? 베가스? [5] 몽유도원8672 17/04/06 8672
100646 [질문] LG 인적성 관련 질문입니다. Serapium3027 17/04/06 3027
100645 [질문] 페북 해킹 문제 도와주세요... [2] RaymondCattell2726 17/04/06 2726
100644 [질문] 갤8 질문이에요~(예약구매) [7] 교자만두2786 17/04/06 2786
100643 [질문] 미들타워 케이스를 새로 샀는데 선놓는 쪽을 원래 압박해서 넣나요? [6] 완전진성콥2646 17/04/06 2646
100642 [질문] 스1 업데이트이후에, 아래와 같은 메세지 발생합니다. SKYCEN3394 17/04/06 3394
100641 [질문] 군항제는 평일에도 사람이 미어터지나요? [1] BIFROST3311 17/04/06 3311
100640 [질문] 인터넷이 너무 느려요. [2] 해가지는아침2141 17/04/06 2141
100639 [질문] 응팔 1988 ost 질문이요. [4] 메티스2966 17/04/06 2966
100638 [질문] 오늘 주문할 저가 컴퓨터 견적 좀 봐주세요 [10] lenakim3306 17/04/06 3306
100637 [질문] html에서 iframe 질문드립니다. [2] 시드마이어2131 17/04/06 2131
100636 [질문] 등기부등본 한번 검토 부탁드립니다 [8] 안프로2433 17/04/06 2433
100635 [질문] 인터벌 트레이닝 질문입니다 [3] 녹차킷캣2449 17/04/06 2449
100633 [질문] 윈10 업데이트후 svchost가 너무많습니다. Ahri3092 17/04/06 3092
100632 [질문] [LOL] 리븐의 장점이 궁금합니다 [14] 삭제됨3782 17/04/06 3782
100630 [질문] [재업] H2 프야매 레전드쿠폰 구매/구하는방법 아시나요? [10] papaGom2886 17/04/06 2886
100629 [질문] NAS(나스) 질문드립니다. [5] 이슬먹고살죠2537 17/04/06 2537
100628 [질문] 중1 이 수학문제 답이 있나요? [6] 파란무테3355 17/04/06 3355
100627 [질문] PC 하드웨어? 문제 [4] 모챠렐라2596 17/04/06 2596
100626 [질문] 하루한줌 같은 견과류도 오래되면 눅눅해지나요? [10] 그아탱3062 17/04/06 3062
100625 [질문] 영어 4개 영역 효율적으로 늘릴 방법이 있을까요? [2] Total2496 17/04/06 2496
100624 [질문] 이번 주말 고대 서울캠퍼스 벚꽃 [5] Liverpool FC2822 17/04/06 2822
목록 이전 다음
댓글

+ : 최근 1시간내에 달린 댓글
+ : 최근 2시간내에 달린 댓글
맨 위로