[C언어 코드업 문제풀이] CodeUp 1546 : [기초-함수작성] 함수로 plus/minus/0 판별하기
코드업 1546번 함수로 plus/minus/0 판별하기 문제 풀이 해답입니다.
1. 문제 설명
*주의사항 : 이 (함수 제출형) 문제는 함수 부분만 작성해서 제출해야 오류 없이 채점이 됩니다.
미리 작성되어있는 코드를 읽고 해석해서, 함수 부분만 작성해서 제출하면 됩니다.
작성한 함수의 테스트를 위해서는 제시된 코드를 복사해 사용하면 되고, 제출은 함수 부분만 하세요.
------
정수 1개를 입력 받아
양수인 경우 plus, 음수인 경우 minus, 0 인 경우 0을 판별하여 출력하시오.
단, 함수형 문제이므로 함수 zero()와 plus()만 제출하시오.
참고
bool 형의 값은 true(1) 또는 false(0) 뿐 이므로,
3가지 경우(+, -, 0)를 구분하기 위해서는 1개의 함수만으로는 불가능하다.
예를 들어,
int 형 정수 값 1개를 전달해, 그 값을 매개 변수에 저장하고,
plus/minus/0을 구분해 출력할 수 있도록하는 2개의 판별 함수는 다음과 같이 설계할 수 있다.
bool zero(int k)
{
return !k; //논리 연산자 !는 false(0)를 true(1)로, true(1)를 false(0)으로 만든다.
}
bool plus(int k)
{
return k>0; //k>0를 만족하는 경우에는 true(1)를, 아닌 경우에는 false(0)를 리턴한다.
}
[함수형 문제란??]
함수형 문제는 기본적인 main() 등은 미리 작성되어 있습니다.
미리 작성되어 있는 프로그램은 다음과 같습니다.
미리 작성된 프로그램을 복사해 붙여 넣은 후 함수 부분을 설계하여 작성해 넣고,
테스트 한 후, 함수 부분만 제출하세요.
1
2
3
4
5
6
7
8
9
10
11
12
13
|
#include <stdio.h>
int n;
// 이 부분에 들어가야 될 코드를 작성하여 제출
int main()
{
scanf("%d", &n);
if(zero(n)) printf("zero");
else printf("%s", plus(n)?"plus":"minus");
return 0;
}
|
2. 입력
int 형 정수(n)가 입력된다.
(-2147483648 <= n <= 2147483647)
3. 출력
양수인 경우 plus, 음수인 경우 minus, 0 인 경우 0을 판별하여 출력하시오.
4. 입력 예시
-1
5. 출력 예시
minus
6. 문제 풀이
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
#include <stdio.h>
int n;
#include "stdbool.h"
bool zero(int N) {
return !N;
}
bool plus(int N) {
return N >0;
}
int main()
{
scanf("%d", &n);
if(zero(n)) printf("zero");
else printf("%s", plus(n)?"plus":"minus");
return 0;
}
|
'ET의 공부 > C언어 연습문제[ 코드업 ]' 카테고리의 다른 글
[C언어 코드업 문제풀이] CodeUp 1548 : [기초-함수작성] 함수로 학점 리턴하기 (0) | 2020.07.02 |
---|---|
[C언어 코드업 문제풀이] CodeUp 1547 : [기초-함수작성] 함수로 prime/composite 판별하기 (0) | 2020.07.02 |
[C언어 코드업 문제풀이] CodeUp 1545 : [기초-함수작성] 함수로 true(1) / false(0) 리턴하기 (0) | 2020.07.01 |
[C언어 코드업 문제풀이] CodeUp 1544 : [기초-함수작성] 함수로 * n개 출력하기 (0) | 2020.07.01 |
[C언어 코드업 문제풀이] CodeUp 1543 : [기초-함수작성] 함수로 love 출력하기 (0) | 2020.07.01 |