2013년 2월 2일 토요일

Objective-C Chapter 5.3


// 5장 연습문제

#import <Foundation/Foundation.h>

int main (int argc, char *argv[])
{
    @autoreleasepool {
        
        // 5장 연습문제 1번
        int nEx1 = 1;
        NSLog(@"The table is square of n ( 1 <= n <= 10 )");
        NSLog(@"   n     n^2");
        NSLog(@"-------------");
        while ( nEx1 <= 10 )
        {
            NSLog(@"  %2i     %3i", nEx1, nEx1 * nEx1);
            nEx1++;
        }
        
        
        // 5장 연습문제 2번
        int nEx2 = 5, triangularNumberEx2;
        NSLog(@"The table is triangular of n");
        NSLog(@"   n     triangular");
        NSLog(@"--------------------");
        while ( nEx2 <= 50 )
        {
            triangularNumberEx2 = nEx2 * ( nEx2 +1 ) / 2;
            NSLog(@"  %2i        %4i", nEx2, triangularNumberEx2);
            nEx2 += 5;
        }
        
        
        // 5장 연습문제 3번 팩토리얼 계산
        int nEx3 = 1, aEx3, factorialEx3;
        NSLog(@"The table is factorial of n");
        NSLog(@"   n     factorial");
        NSLog(@"--------------------");
        while ( nEx3 <= 10 )
        {
            aEx3 = 1;
            factorialEx3 = 1;
            
            while ( aEx3 < nEx3 )
            {
                factorialEx3 *= ( aEx3 + 1 );
                ++aEx3;
            }
            NSLog(@"  %2i       %7i", nEx3, factorialEx3);
            // 5장 연습문제 4번 : 필드 폭 지정자 앞에 -(뺄샘)부호 붙이면 해당필드가 왼쪽으로 정렬
            // ex)   %-2i   %-7i
            ++nEx3;
        }
        
        
        // 5장 연습문제 5번 - 삼각수의 개수를 입력할수 있는 부분을 만들어라 (예제 5.5)
        int nEx5, numberEx5, triangularNumberEx5, counterEx5, aEx5; // aEx5 추가
        // counterEx5 는 오직 for 프로그램 반복 횟수 계산용에만 사용되지만, 그래도 변수이니 선언을 해야함
        NSLog(@"How many triangular number do you want to get?");  // How many..?
        scanf("%i", &counterEx5);  // 삼각수 입력할수 있는부분 추가
        for ( aEx5 = 1; aEx5 <= counterEx5; ++aEx5 )  // 변수를 바꿔줌
        {
            NSLog(@"What triangular number do you want?");
            scanf("%i", &numberEx5);
            triangularNumberEx5 = 0;
            for ( nEx5 = 1; nEx5 <= numberEx5; ++nEx5 )
            {
                triangularNumberEx5 += nEx5;
            }
            NSLog(@"Triangular number %i is %i", numberEx5, triangularNumberEx5);
        }
    }
    return 0;
}

댓글 없음:

댓글 쓰기