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
수정 아이콘
실무네요.
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
100598 [질문] 커피를 좋아하는 사람에게 해줄수 있는 선물 [13] 삭제됨5032 17/04/05 5032
100597 [질문] 구글 드라이브처럼 달력을 공유하는 사이트 [2] 따루라라랑1945 17/04/05 1945
100596 [질문] H2 프야매 레전드쿠폰 구입 방법이있나요? [2] papaGom2984 17/04/05 2984
100595 [질문] 부끄러운 일로 협박 사기를 당했습니다. 너무 괴롭네요.. [24] 가브라멜렉71412 17/04/05 71412
100594 [질문] 크롬으로 유튜브 실행시 다운현상 [1] I.O.I2694 17/04/05 2694
100593 [질문] 서피스 프로4 구매관련 질문 드립니다!! [3] 50b2569 17/04/05 2569
100590 [질문] 베트남 출국시 공항면세이용할때 달러vs베트남화폐 [1] 희열3084 17/04/05 3084
100589 [질문] 크롬 ISP 결제 플러그인 실행 문제 우리은하3367 17/04/05 3367
100588 [질문] 학기 중 취업 고민입니다. [16] 마션8066 17/04/05 8066
100587 [질문] 교통사고 질문입니다 치토스2006 17/04/05 2006
100586 [질문] 노래좀 찾아주세요 전문직이되자2171 17/04/05 2171
100585 [질문] 일본에서 한국인 이미지는 한국인이 중국인보는거와 비슷한가요? [14] 사쿠라기루카와9679 17/04/05 9679
100584 [질문] FTP 파일 업로드 관련 질문드립니다. [2] 토꺙2481 17/04/05 2481
100582 [질문] 컴퓨터본체 중고 질문드립니다. [4] DogSound-_-*4615 17/04/05 4615
100581 [질문] 독립(원룸)준비하는데 질문이 몇가지 있습니다 [13] lenakim5503 17/04/05 5503
100580 [질문] (직장생활) 열심히 한다 vs 잘 한다 [8] 삭제됨3730 17/04/05 3730
100579 [질문] 어렵네요 [2] 삭제됨1783 17/04/05 1783
100578 [질문] 건강보조식품 뭐 챙겨 드세요? [13] 별풍선2746 17/04/05 2746
100577 [질문] 컴퓨터가 너무 느려졌습니다. [4] 예인2318 17/04/05 2318
100576 [질문] 중국 성도(청두) 일일투어 문의 [1] spike662419 17/04/05 2419
100575 [질문] 주유카드 추천해주세요. [5] 파란무테2799 17/04/05 2799
100574 [질문] [NBA]지난시즌 카레 VS 이번시즌 웨스트 브룩 [47] 우훨훨난짱3135 17/04/05 3135
100573 [질문] [AV] 1스피커-4기기 일 때 음원변경 쉽게 하는 법? [4] 스타듀밸리2598 17/04/05 2598
목록 이전 다음
댓글

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