홈 > IT > IT정보
IT정보

C언어 함수, 포인터, 동적할당 문제풀기 4-5

3 realdragonhead 0 760 0 0

4-5. 키보드로부터 정수를 입력받은 후 abs() 함수를 이용하여 절댓값을 구하시오.

<CODE>

#include <stdio.h>
#include <stdlib.h>


void main() {
        int usrinput;
        fputs("절대값을 구할 정수 입력 : ", stdout);
        scanf("%d", &usrinput);
        printf("결과 : %d\n", abs(usrinput));
}


<RESULT>

절대값을 구할 정수 입력 : -7

결과 : 7


4-5A. 키보드로부터 정수를 입력받은 후 abs() 함수를 이용하여 절댓값을 구하는 과정을 0이 입력될 때까지 반복하시오.

<CODE>

#include <stdio.h>
#include <stdlib.h>


void main() {
        int usrinput = 1;
        puts("0이 입력 될 때 까지 절대값을 구합니다.");
        while(1)
        {
                fputs("입력 : ", stdout);
                scanf("%d", &usrinput);
                if(usrinput == 0)
                        return ;
                printf("결과 : %d\n\n", abs(usrinput));
        }
}


<RESULT>

0이 입력 될 때 까지 절대값을 구합니다.

입력 : 3

결과 : 3


입력 : 2

결과 : 2


입력 : -5

결과 : 5


입력 : 0


4-5B. 정수를 매개변수로 입력받은 후 절댓값을 반환하는 함수를 작성하고, main() 함수에서 이를 이용하여 절대값을 구하는 과정을 0이 입력될 때까지 반복하시오.

<CODE>

#include <stdio.h>
#include <stdlib.h>


int absoulout(int );
void main() {
        int usrinput = 1;
        puts("0이 입력 될 때 까지 절댓값을 구합니다.");
        while(1)
        {
                fputs("입력 : ", stdout);
                scanf("%d", &usrinput);
                if(usrinput == 0)
                        return ;
                printf("결과 : %d\n\n", absoulout(usrinput));
        }
}


int absoulout(int number) {
        return abs(number);
}


<RESULT>

0이 입력 될 때 까지 절댓값을 구합니다.

입력 : 2

결과 : 2


입력 : -9

결과 : 9


입력 : -1

결과 : 1


입력 : 0


4-5C. 4-5B를 함수대신 매크로를 이용하여 구현하시오.

<CODE>

#include <stdio.h>
#include <stdlib.h>
#define ABSOUT(x)       abs(x)


void main() {
        int usrinput = 1;
        puts("0이 입력 될 때 까지 절댓값을 구합니다.");
        while(1)
        {
                fputs("입력 : ", stdout);
                scanf("%d", &usrinput);
                if(usrinput == 0)
                        return ;
                printf("결과 : %d\n\n", ABSOUT(usrinput));
        }
}


<RESULT>

0이 입력 될 때 까지 절댓값을 구합니다.
입력 : 5
결과 : 5

입력 : -7
결과 : 7

입력 : -2
결과 : 2

입력 : 1
결과 : 1

입력 : 0

0 Comments
Category
State
  • 현재 접속자 49 명
  • 오늘 방문자 590 명
  • 어제 방문자 601 명
  • 최대 방문자 948 명
  • 전체 방문자 163,940 명
  • 전체 게시물 1,862 개
  • 전체 댓글수 249 개
  • 전체 회원수 113 명
Facebook Twitter GooglePlus KakaoStory NaverBand
PlusFriend Chat