/*
★계획
구구단의 기본형태
2*1 = 2
2*2 = 3
:
9*9 = 81
단부분 * (1~9) = 결과 라는 형태가 됩니다
★단부분
변수 int iNum을
222222222 333333333 444444444 … 999999999의 값으로 만들어야 합니다.
한자리수로 반복되는 문을 만들기 위해선 나누면 됩니다
여러 값으로 나누어본 결과 9로 나누면 9자리식 반복되는 수가 생깁니다
(C언어에서 프로그램을 만들시 먼저 하나하나 Data값을 만들어보고 그것을 곱해보기도 나누어보기도 하는것이 좋은 방법인것 같습니다.)
1/9 = 0, 2/9 = 0, 3/9 = 0 …9/9 = 1, 10/9 = 1…20/9 = 2…81/9 = 9….계속
*소수자리는 무시 정수로만 표현
000000000 111111111 222222222 ………
여기에 +2를 하면 2단부터 시작하는 것을 볼수 있는데 변수를 71보다 작게해야 2단에서 9단까지 표현할수있습니다
즉 (iNum / 9) +2를 하고 iNum < 71 int main() { int iNum; for(iNum = 2 ; iNum < 71 ; ++iNum) { printf("%d \n",(iNum/9)+2,); } return 0; }
위식결과
222222222 333333333 444444444 … 999999999
★ (1~9) * 9번 반복문
단부분은 해결이 되었다. 이번에는 단과 곱해지는 1~9까지 9번을 반복하는 식을 만들어야 됩니다
10미만의 자리수가 반복되는 경우 %를 쓰면 됩니다
즉 iNum % 9를 하게되면
012345678 0123456789 0123456789 …가 됩니다
여기 1을 더하면
원하는 값인 123456789 123456789 …가 됩니다
식은 (iNum % 9) +1이 됩니다
★완성
printf문에 1)결과와 2)결과를 곱해주면 구구단이 완성이되는
c언어로 표현하면 아래와 같습니다
int main() { int iNum; for(iNum = 2 ; iNum < 71 ; ++iNum) { printf("%d * %d = %d \n",(iNum/9)+1,(iNum%9)+1,((iNum/9)+1)*((iNum%9)+1)); } return 0; } |
결과>>
|
'Embeded C > C언어 예제' 카테고리의 다른 글
C언어 피보나치 수열 (3) | 2011.05.17 |
---|---|
C언어로 키보드로부터 최대 세 자리의 정수를 입력 받아 자릿수들의 합계를 구하는 프로그램 (0) | 2011.05.17 |
C언어로 초 입력시 분과 초로 변환하는 프로그램 (0) | 2011.05.17 |
C언어로 주사위를 10번 던지는 난수 프로그램 (0) | 2011.05.11 |
C언어의 비트연산자를 활용하여 정수 N을 입력하면 2의 N승을 출력하는 프로그램 (0) | 2011.05.11 |