프로그래밍

 3198, 1/160 회원가입  로그인  
   펌웨어
   정말 기초인데.. 제 지식이 더 바닥이라 ..ㅠㅠ

http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=3503 [복사]


#include <stdio.h>

int main()
{
        int a,b;

        for(a=2;a<10;a++)
        {
                for(b=1;b<10;b++)
                {
                        printf("%d*%d=%d\n",a,b,a*b);
                }
                printf("\n");
        }
        return 0;
}

일단 제가 짠거에요 구구단출력인데요~

원래는
2*1=2           3*1=3                         ......
  .                    .
  .                    .
  .                    .
2*9=18         3*9=27                       .......

이렇게 옆으로출력이 되야 하는데 저는 세로로 출력이 되요 가로로는  잘 모르겠어요
인터넷 검색을 해도 안나오더라구요 ~
도와 주세요 !!

  Hit : 4710     Date : 2012/09/27 02:02



    
ksxhdtlsakd printf("%d*%d=%d ",b, a, b*a);
두번째 for문의 printf를 위와 같이 변경하시면 됩니다.
2012/09/27  
ksxhdtlsakd 깔끔한 모습을 원하시면 다음과 같이 하시면 됩니다.
printf("%d*%d=%2d ",b, a, b*a);
2012/09/27  
펌웨어 아니요 ~ 현재는 2단출력 후 밑으로 3단..4단.. 출력이 되요
근데 2단 출력 후 오른쪽으로 3단..4단.. 출력할려면 어떻게 해야 하나요
2012/09/27  
ksxhdtlsakd 그러면 구글에다가 gotoxy 라고 검색해보세요 2012/09/27  
cd80 약간 다르게 생각하셔서
단별로 처리하는게 아닌
2*1 3*1 4*1 5*1 6*1 7*1 8*1 9*1

이렇게 한줄 먼저 처리해주시고
2*2 3*2 4*2 5*2 6*2 7*2 8*2 9*2
한줄

2*3 3*3 4*3 5*3 6*3 7*3 8*3 9*3

이런식으로 하시면 됩니다
2012/09/27  
seonjun #include <stdio.h>

int main()
{
int a,b;
for(b=1;b<10;b++)
{
for(a=2;a<10;a++)
{

printf("%d*%d=%3d ", a,b,a*b);
}
printf("\n");
}
return 0;
}

이러게 되시길 원하시는건가요;;?
2012/09/27  
펌웨어 seonjun 님 감사합니다 !!! 제가 언어구사력이 좀 부족해서 질문이 이상했죠;;ㅎㅎ
a 와 b만 바꿨는데 가로로 출력 되다니 ;; 얘는 왜 세로로 출력이 안되는건지 아직 잘 이해는 안되지만 완전 감사합니다.. !!
2012/09/27  
cd80 세로로 출력된것이 아니라 가로로 한줄씩 처리하신겁니다 2012/09/27  
seonjun x * y = z
y를 증가시키고 \n하는것을 다르게생각하시면됩니다.
x를 9까지 돌리고 \n하세요
그다음 y를 증가시켜주는 for문으로 묶으시면 음... 저도학생이라 글로 설명하기는 어렵네여;; ㅋ

a * b = ab라고 하자면
님이 코딩하신것은
a1 * b1 = a1b1 \n
a1 * b2 = a1b2 \n
a1 * b3 = a1b3 \n
. \n
.
.
.
이러게 돌아갑니다.
가로로 출력하기 위해서는
a1 * b1 = a1b1 a2 * b1 = a2b1 a3 * b1 = a3b1 a4 * b1 = a4b1 ......a8 * b1 = a8b1 \n
a1 * b2 = a1b2 a2 * b2 = a2b2 a3 * b2 = a3b2 a4 * b2 = a4b2 ......a8 * b2 = a8b2 \n
.
.
.
a1 * b8 = a1b8 a2 * b8 = a2b8 a3 * b8 = a3b8 a4 * b8 = a4b8 ......a8 * b8 = a8b8 \n
이러게 돌아가게 만든다는 생각으로 하시면 편할듯합니다;;
a를 한바퀴돌리고 b가 하나씩 증가되겠끔 해주세요;;

( __ 구분좋게 띄워둔거입니다)
for(b=1;b<10;b++) {
_____for(a=2;a<10;a++)
_____{
__________printf("%d*%d=%3d ", a,b,a*b);
_____}
_____printf("\n");
}
2012/10/03