반응형
[문제]
메인함수: 변수 a, b, c
함수1:
- 변수 x
- ax^2+bx+c에 대한 결과 출력
함수2:
- 변수 x, y
- ax+by+c에 대한 결과 출력
함수3:
- ax^2+bx+c 함수의 두 해를 출력(근해 공식)
a, b, c, x, y의 값은 임의로 지정
Makefile 및 소스코드 포함
Makefile은 clean 명령어가 포함되어야 하고, 실행파일을 제외한 object 파일을 삭제 해야 함
제출은 tar 파일 하나로 제출하며, tar파일에 제출에 필요한 파일들이 포함 되어야 함
-------------------------------------------
main.c
#include <stdio.h>
#include "functions.h"
int main() {
double a = 1, b = 2, c = 1; // 임의의 값
double x = 3, y = 4; // 임의의 값
printf("Function 1 Result: %f\n", func1(a, b, c, x));
printf("Function 2 Result: %f\n", func2(a, b, c, x, y));
double root1, root2;
func3(a, b, c, &root1, &root2);
printf("Roots of the equation: %f and %f\n", root1, root2);
return 0;
}
Functions.h
double func1(double a, double b, double c, double x);
double func2(double a, double b, double c, double x, double y);
void func3(double a, double b, double c, double* root1, double* root2);
Functions.c
#include <math.h>
#include "functions.h"
double func1(double a, double b, double c, double x) {
return a * x * x + b * x + c;
}
double func2(double a, double b, double c, double x, double y) {
return a * x + b * y + c;
}
void func3(double a, double b, double c, double* root1, double* root2) {
double discriminant = b * b - 4 * a * c;
*root1 = (-b + sqrt(discriminant)) / (2 * a);
*root2 = (-b - sqrt(discriminant)) / (2 * a);
}
Makefile
all: program
program: main.o functions.o
gcc -o program main.o functions.o -lm
main.o: main.c
gcc -c main.c
functions.o: functions.c
gcc -c functions.c
clean:
rm -f *.o program
모든 파일들은 동일한 디렉토리에 저장되어야 합니다.
제출을 위한 `tar` 파일을 만들려면, 터미널에서 다음 명령어를 실행하세요:
tar cvfz program.tar.gz main.c functions.c functions.h Makefile
이제 `program.tar.gz`라는 이름의 tar 파일이 생성되었으며, 이 파일에는 모든 필요한 소스 파일과 Makefile이 포함되어 있습니다.
반응형
'무근본 IT 지식 공유' 카테고리의 다른 글
아누이노 Serial에 대해 (0) | 2023.09.20 |
---|---|
AWS의 eks 사용법에 대하여 (0) | 2023.09.20 |
[파이썬,C언어] 행렬 M에서, N번째로 큰 수를 찾아야 합니다. (0) | 2023.09.17 |
C언어, 파이썬 이진탐색에 관하여 (샘플문제, 수도코드) (0) | 2023.09.17 |
(프로그래밍) Parameter와 Argument의 차이점이 있다고???-왕초보도 이해하는 프로그래밍 (0) | 2023.09.16 |
댓글