2
프라임차한잔
자동
비밀번호 찾기 회원가입

[차한잔]  [질문] C언어 잘하시는 분들께 질문드립니다.

Canvas
  745
2006-09-15 15:53:59

C언어 질문입니다... while문으로 임의의 5개 데이터 입력하여 합계를 구하는 프로그램과.

그리고 구구단 프로그램은 짜겠는데..

2단:
2*1=2    2*2=4     2*3=6
2*4=8    2*5=10   2*6=12
2*7=14  2*8=16   2*9=19

이런 형식으로 출력되는 프로그램은 도저히 못하겠네요.
C언어 잘하시는 분 부탁드립니다.

14
댓글
Bridy
2006-09-15 06:57:17

쉽게 방법을 하나 말씀드리면 가로 인덱스를 두는겁니다. r 이라고 하죠. 하나 출력할때마다 r++ 을 하고 r이 3이 되면 r = 0; 으로 초기화하고 한줄 내리고..... 이런식으로요.

Bridy
2006-09-15 06:58:18

가로의 줄 맞춤에 대해서는 \t 을 한번 써보세요. 자동으로 탭 간격에 맞춰줍니다. printf( "......\t", ...... ); 이런식으로요..

coolkaka
2006-09-15 07:05:39

줄바꿈은 초기화없이 if( j%3 == 0 ) printf("\n"); 이면 될것 같네요.

주성치_1
2006-09-15 07:17:54

coolkaka님 댓글을 못봤네요. 찌찌뽕! ....

Bridy
2006-09-15 07:23:16

굳이 따진다면 % 연산이 상당히 느린 편입니다. (이 경우 상관 없지만요.) 그래서 저는 % 연산을 안하는 편입니다. 초기화하는 것이 빠르거든요.

WR
Canvas
2006-09-15 07:12:26

죄송한데 이게 제가 책보고 짠 프로그램인데 단별로 그냥 가로로만 쭉 나옵니다. 정확히 어떻게 수정할지 좀 가르쳐 주시면 안되겠는지요. #include void gugudan(int ); void gugudan(int dan) { int x,y; int i; for(i=1; i<10 ; i++){ printf("%d*%d=%2d ", dan,i,(dan*i)); } puts(""); } int main(int argc, char *argv[]) { int i,j; for (j=2; j<10 ;j++ ){ gugudan(j); } puts(""); return 0; }

주성치_1
2006-09-15 07:16:18

printf("%d*%d=%2d ", dan,i,(dan*i)); 코드 바로 밑에 if(i%3==0) printf("\n"); <---이 코드를 넣으시면 됩니다. ^^

주성치_1
2006-09-15 07:17:11

위에 coolkaka님이 써놓으셨네;;;

WR
Canvas
2006-09-15 07:18:02

정말 감사합니다.. 그런데 질문이 하나 더 있는데 앞에 2단: 이라고 뜨게 할려면 방법 없을까요?

주성치_1
2006-09-15 07:21:35

for문 윗둘에 printf("%d단\n",dan);라고 쓰시면 되겠네요

주성치_1
2006-09-15 07:14:15

저런식의 구구단 2단을 예로들면 전부 가로로 출력하게 해놓고 중간에 if( i%3 == 0) printf("\n"); 이 코드 넣어도 되겠네요.(for문에서 1~9까지 곱해지는 수가 i라고 할때) "%"기호는 "나머지 값"을 구하는거죠. 3의 배수이면 "\n"을 출력해서 다음줄로 넘어가라는 뜻입니다. ^^

WR
Canvas
2006-09-15 07:19:03

답변 남겨주신 ilys4님,coolkaka님,주성치님 모든 분들 감사드립니다. 큰 도움이 되었습니다.

알렌
2006-09-15 07:24:31

이것은 과제, 이것인 과제, 이것은 과제, 이것인 과제, 이것은 과제, 이것인 과제 ㅎㅎㅎ 참고로 www.devpia.com 사이트 추천드립니다. 여기 질문이나 자료도 많고 좋습니다.

ddaddu
2006-09-15 14:05:39

// nine by nine function(?) // void main() { int i, j; for ( i = 2 ; i <= 9 ; ++i ) { for ( j = 1 ; j <= 9 ; ++j ) { printf ("&d * &d = &d", i, j, (i*j)); if ( j%3 ) { printf ("\n"); } } printf ("\n"); } return; } // sum function // void main() { int iCnt = 0; int iSum = 0; int iTempValue = 0; while ( iCnt < 5 ) { printf("Enter Input Value : \n"); scanf("%d, &iTempValue); iSum += iTempValue; ++iCnt; } printf("Sum is &d\n", iSum); pritnf("I love DP!\n"); return; } ^___________________^ 좋은 주말입니다. 숙제 잘 하시고요. 프로그램 실력은 디버깅하고 버그 잡고, 알고리즘 짜는 시간이 많아야 늘어납니다. ps 심심해서 메모장에서 작성했는데 컴파일이 잘 될까 모르겠네요. ^^

댓글 남기기
로그인 후 댓글을 남기실 수 있습니다.
 
글쓰기