2013년 2월 4일 월요일

Objective-C Chapter 5.4


// 5장 연습문제 6번, 7번, 8번

#import <Foundation/Foundation.h>

int main (int argc, char *argv[])
{
    @autoreleasepool
    {
        // While 문으로 변형 - 5.2 예제
        int nEx2 = 1, trianglarNumberEx2 = 0;
        while ( nEx2 <= 200 )
        {
            trianglarNumberEx2 += nEx2;
            ++nEx2;
        }
        NSLog(@"The 200th triangular number is %i", trianglarNumberEx2);
        
        

        // While 문으로 변형 - 5.3 예제
        int nEx3 = 1, triangularNumberEx3 = 0;
        NSLog(@"TABLE OF TRIANGULAR NUMBERS");
        NSLog(@"  N     Sum from 1 to n");
        NSLog(@"-----  -----------------");
        while ( nEx3 <= 10 )
        {
            triangularNumberEx3 += nEx3;
            NSLog(@"  %2i          %2i", nEx3, triangularNumberEx3);
            ++nEx3;
        }
        
        
        // While 문으로 변형 - 5.4 예제
        int nEx4 = 0, triangularNumberEx4 = 0, numberEx4;
        NSLog(@"What triangular number do you want?");
        scanf("%i", &numberEx4);;
        while ( nEx4 <= numberEx4 )
        {
            triangularNumberEx4 += nEx4;
            ++nEx4;
        }
        NSLog(@"Triangluar number %i is %i\n", numberEx4, triangularNumberEx4);
        
        
        // While 문으로 변형 - 5.5 예제
        int nEx5, numberEx5, triangularNumberEx5, counterEx5 = 1;
        // counterEx5 는 오직 for 프로그램 반복 횟수 계산용에만 사용되지만, 그래도 변수이니 선언을 해야함
        while ( counterEx5 <= 5 )
        {
            NSLog(@"What triangular number do you want?");
            scanf("%i", &numberEx5);
            triangularNumberEx5 = 0;
            nEx5 = 1// 변수에 수를 넣는 위치에 따라 프로그램이 완전히 달라질수 있음 - 조심
            while ( nEx5 <= numberEx5 )
            {
                triangularNumberEx5 += nEx5;
                ++nEx5;
            }
            NSLog(@"Triangular number %i is %i", numberEx5, triangularNumberEx5);
            ++counterEx5;
        }
        
        
        // 5장 연습문제 7번
        // 5.8 예제 자리수를 뒤집는 프로그램 - 음수를 입력할때 어떻게 변하나.
        int number8, right_digit8 = 0;
        NSLog(@"Enter your number!");
        scanf("%u", &number8);
        while ( number8 != 0 )
        {
            right_digit8 += number8 % 10;
            right_digit8 *= 10;
            number8 /= 10;
        }
        NSLog(@"%i", right_digit8 / 10);
        // -1234 를 넣을경우 -4321 이 출력된다
        
        
        // 5장 연습문제 8번 - 각 자리수를 더하는 프로그램
        int numberEx8, numberEx8_1, sumDigitsEx8 = 0;
        NSLog(@"Enter the number you want to know sum of each digit numbers");
        scanf("%i", &numberEx8);
        numberEx8_1 = numberEx8;
        while ( numberEx8 != 0 )
        {
            sumDigitsEx8 += numberEx8 % 10;
            numberEx8 /= 10;
        }
        NSLog(@"The sum of each digit number of %i is %i", numberEx8_1, sumDigitsEx8);
        
    }
    return 0;
}

댓글 없음:

댓글 쓰기