안녕하세요 지코딩입니다.
오늘은 코딩도장 68.5 심사문제 풀이를 해보겠습니다.
<문제> 표준 입력으로 문자열과 두 정수가 입력됩니다. 다음 소스 코드를 완성하여 문자열에 해당하는 함수로 두 정수를 계산하도록 만드세요.
strcmp함수를 이용해서 함수 이름과 입력된 문자열이 같은지 비교한 뒤, 함수 포인터에 해당 함수의 주소를 할당해주면 됩니다.
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
int add(int *a, int *b)
{
return *a + *b;
}
int sub(int *a, int *b)
{
return *a - *b;
}
int mul(int *a, int *b)
{
return *a * *b;
}
int div(int *a, int *b)
{
return *a / *b;
}
int main()
{
char funcName[10];
int num1, num2;
scanf("%s %d %d", funcName, &num1, &num2);
int (*fp)(int*, int*) = NULL;
if(strcmp("add", funcName)==0) fp=add;
else if(strcmp("sub", funcName)==0) fp=sub;
else if(strcmp("mul", funcName)==0) fp=mul;
else if(strcmp("div", funcName)==0) fp=div;
printf("%d\n", fp(&num1, &num2));
return 0;
}
[c언어] 코딩도장 73.7 퀵 정렬 함수 사용하기 문제 풀이 (0) | 2021.07.09 |
---|---|
[c언어] 코딩도장 71.10 파일을 부분적으로 읽기 문제 풀이 (0) | 2021.07.08 |
[c언어] 코딩도장 66.7 가변 인자의 정수 합 구하기 문제풀이 (0) | 2021.07.01 |
[c언어] 코딩도장 67.6 재귀호출로 피보나치 수 구하기 문제풀이 (0) | 2021.06.30 |
[c언어] 코딩도장 64.7 전치행렬 만들기 문제풀이 (0) | 2021.06.26 |
댓글 영역