본문 바로가기

프로그래밍 언어 문제

(10)
[C언어] 연습문제1 [문제] 두 개의 텍스트 파일이 같은지 다른지를 확인하는 프로그램을 작성해 보자. 단순히 공백문자 하나가 차이를 보여도 두 텍스트 파일은 다른 것으로 판별이 나야 한다. 조건1) fgets을 사용하시오 조건2) fgets함수의 호출 실패에 대한 경우는 제외할 것 [실행결과] 아래는 실행파일의 이름이 project001.exe이고 비교의 대상이 되는 두 파일의 이름이 각각 test1.txt, test2.txt인 경우 실행의 예이다. [수정할 코드] #include #include #define MAX_STR_SIZE50 int main(int argc, char* argv[]) { char str1[MAX_STR_SIZE]; char str2[MAX_STR_SIZE]; int IsSameFlag = 1; ..
[C언어] 연습문제2 [문제] 문자열을 저장하고 있는 파일을 열어서 A와 P로 시작하는 단어의 수를 세어서 출력하는 프로그램을 작성해 보자. 단, 모든 단어는 공백문자(스페이스 바, \t, \n)에 의해서 구분된다고 가정한다. 텍스트 파일은 text.txt로 아래와 같이 구성하여 저장하자. 조건1) fgets함수를 사용하지 말 것 조건2) argc를 이용하여 에러 메시지를 띄울 것 조건3) 파일 종결 에러 메시지를 띄울 것 [실행결과] 실행파일의 이름이 wordcnt.exe이고 대상파일의 이름이 text.txt인 경우 아래와 같다. [수정할 코드] #include int main(int argc, char* argv[]) { FILE* fp; char str[30]; int a_cnt = 0; int p_cnt = 0; if..
[C언어] 연습문제3 [문제] 복소수(Complex Number)를 나타내는 구조체를 정의하고, 복소수의 덧셈과 곱셈을 위한 함수를 각각 정의하자. 그리고 이를 기반으로 프로그램 사용자로부터 두 개의 복소수 정보를 입력 받아서 두 복소수의 덧셈과 곱셈의 결과를 출력하는 프로그램을 작성하자. 참고 복소수의 덧셈공식: (a+bi) + (c+di) = (a+c) + (b+d)i 복소수의 곱셈공식: (a+bi) * (c+di) = ac - bd + bci + adi [실행결과] 복소수 입력1[실수 허수]: 1.2 2.4 복소수 입력2[실수 허수]: 1.1 2.2 합의 결과] 실수: 2.300000, 허수: 4.600000 곱의 결과] 실수: -3.960000, 허수: 5.280000 [수정할 코드] #include typedef s..
[C언어] 연습문제4 [문제] 아래의 main.c 함수를 보고 여기에 맞는 헤더파일과 소스파일을 작성하라. 헤더파일(basicArith.h, areaArith.h, roundArith.h) 소스파일(basicArith.c, areaArith.c, roundArith.c) #include #include"areaArith.h" #include"roundArith.h" int main(void) { printf("삼각형 넓이(밑변 4, 높이 2): %g \n", TriangleArea(4, 2)); printf("원 넓이(반지름 3): %g \n", CircleArea(3)); printf("직사각형 둘레(밑변 2.5, 높이 5.2): %g \n", RectangleRound(2.5, 5.2)); printf("정사각형 둘레(변..
[C언어] 연습문제5 [문제] 프로그램 사용자로부터 문자열을 입력 받아서 입력 받은 문자열의 단어를 역으로 출력하는 프로그램을 작성해보자. 예를 들어서 "I am a boy"가 입력되면, 다음의 출력을 보여야 한다. "boy a am I" 단, 문자열의 입력에 앞서 프로그램 사용자가 입력할 문자열의 최대길이 정보를 먼저 입력 받기로하자. 그리고 그 길이만큼 메모리 공간을 동적으로 할당해서 문자열을 입력 받기로 하자. 단, "boy a am I"는 printf()만 사용해서 출력하자. [실행결과] 문자열의 최대 길이 입력: 20 문자열 입력: I am a boy boy a am I [수정할 코드] deleteEnter() 없이 수정 및 코드 정리(간략화) #include #include void deleteEnter(char*..
[C언어] 연습문제6 [문제] 이름, 나이, 성별을 입력 받아 바이너리 데이터로 friend.bin 파일에 저장하라. 그리고 다시 읽어 들여서 콘솔창으로 출력하는 프로그램을 작성하라. 조건1) 구조체를 사용할 것 조건2) fprintf, fscanf 함수를 사용하지 말 것 [실행결과] 이름, 성별, 나이 순 입력: Jungs M 27 Jungs M 27 [코드] #include typedef struct friend { char name[30]; char sex; int age; }Friend; void main() { FILE* fp; Friend myfriend1; Friend myfriend2; fp = fopen("friend.bin", "wb"); printf("이름, 성별, 나이 순 입력: "); scanf_s("..
[C언어] 연습문제7 [문제] src.txt라는 파일을 만들고 아래와 같이 입력하고 저장한다. Hello C World Welcome to C World src.txt 파일을 바이너리 데이터로 읽어서 des에 바이너리 데이터로 쓰는 바이너리 파일 복사 프로그램을 작성하라. 조건1) 파일을 여는 데 실패하면 메시지를 띄울 것 조건2) 파일을 복사하는데 성공하거나 실패하면 그에 따른 메시지를 띄울 것 조건3) memset 함수를 사용하지 말 것 [실행결과] [수정할 코드] #include #include #include #define BUFFER_SIZE30 int main(void) { char buffer[BUFFER_SIZE]; int res; FILE* fp1 = fopen("src.txt", "rb"); FILE* fp..
[C언어] 연습문제8 [문제] 열거형은 사용하여 Do, Re, Mi, Fa, So, La, Ti를 정의하고 아래와 같이 해당하는 음계에 문자열이 출력되도록 프로그램을 작성하시오. Do에는 "도는 하얀 도라지" Re에는 "레는 둥근 레코드" Mi에는 "미는 파란 미나리" Fa에는 "파는 예쁜 파랑새" So에는 "솔은 작은 솔방울" La에는 "라는 라디오고요~" Ti에는 "시는 졸졸 시냇물" 조건1) 열거형 변수를 입력 받아 음계가 출력되는 sound() 함수를 만들 것 조건2) 열거형 변수를 typedef로 정의할 것 [실행결과] 도는 하얀 도라지 레는 둥근 레코드 미는 파란 미나리 파는 예쁜 파랑새 솔은 작은 솔방울 라는 라디오고요~ 시는 졸졸 시냇물 [수정할 코드] #include #include #include typed..