반응형

C언어 20

[C언어-응용문제] 배열에서 최댓값과 최솟값 찾기

배열에서 최댓값과 최솟값 찾기사용자로부터 정수 배열의 크기와 각 원소를 입력받아, 해당 배열에서 최댓값과 최솟값을 찾고 출력하는 프로그램을 작성하세요. 사용 개념: 배열 반복문 (for) 조건문 (if) 표준 입출력 (scanf, printf) 풀이 방법배열 크기 입력받기배열의 크기를 scanf를 사용해 입력받습니다.배열 원소 입력받기for 반복문을 사용해 배열의 각 원소를 입력받습니다.최댓값과 최솟값 초기화최댓값과 최솟값 변수를 배열의 첫 번째 원소로 초기화합니다.최댓값과 최솟값 찾기for 반복문으로 배열을 순회하며 각 원소를 최댓값 및 최솟값 변수와 비교합니다.현재 값이 최댓값보다 크다면 최댓값을 업데이트, 최솟값보다 작다면 최솟값을 업데이트합니다.결과 출력최댓값과 최솟값을 printf를 사용해 출력..

프로그래밍/C 2024.11.23

[C언어-응용문제] 문자열에서 특정 문자의 개수 세기

문자열에서 특정 문자의 개수 세기 사용자로부터 문자열과 특정 문자를 입력받아, 해당 문자열에서 입력한 문자가 몇 번 등장하는지 계산하여 출력하는 프로그램을 작성하세요. 사용 개념:문자열 처리 (char 배열) 반복문 (for) 조건문 (if) 표준 입출력 (scanf, printf)풀이 방법문자열 입력 받기fgets를 사용해 문자열을 입력받습니다. 이 함수는 한 줄의 문자열을 안전하게 읽을 수 있어, 초보자들이 사용하기에 적합합니다.입력된 문자열에 포함된 개행 문자(\n)는 strcspn을 이용해 제거합니다.찾을 문자 입력 받기scanf를 사용해 찾을 문자를 입력받습니다. 공백 문자를 무시하도록 %c 앞에 공백을 추가합니다.문자열 탐색하기for 반복문을 사용해 문자열의 각 문자를 순회합니다.문자열의 끝은..

프로그래밍/C 2024.11.21

[C언어-응용문제] 동적 메모리 할당을 사용한 배열 평균 구하기

동적 메모리 할당을 사용한 배열 평균 구하기학생 수를 입력받고, 해당 학생들의 점수를 동적 메모리 할당을 통해 저장한 후, 평균 점수를 구해 출력하는 프로그램을 작성하세요.사용 개념:동적 메모리 할당(malloc, free)반복문(for)입출력(scanf, printf) 풀이 방법학생 수 입력받기:scanf를 사용하여 사용자로부터 학생 수를 입력받습니다.동적 메모리 할당:malloc을 사용하여 입력된 학생 수만큼의 메모리를 할당하고, 학생 점수를 저장할 배열을 생성합니다.학생 점수 입력받기:for 반복문을 사용해 각 학생의 점수를 입력받아 동적 배열에 저장합니다.평균 점수 계산:반복문을 사용해 입력된 점수의 총합을 구한 후, 평균 점수를 계산합니다.결과 출력 및 메모리 해제:평균 점수를 출력하고, fre..

프로그래밍/C 2024.11.11

[C언어-응용문제] 파일에 텍스트 저장 및 읽기

파일에 텍스트 저장 및 읽기사용자가 입력한 텍스트를 파일에 저장하고, 저장된 내용을 파일에서 읽어와 화면에 출력하는 프로그램을 작성 사용 개념:파일 입출력(fopen, fprintf, fscanf, fgets, fclose)문자열 입력 및 출력(scanf, printf)풀이 방법 파일 열기:fopen 함수를 사용하여 파일을 쓰기 모드("w")로 열어 사용자가 입력한 텍스트를 저장텍스트 입력받기:scanf나 fgets를 사용해 사용자로부터 텍스트를 입력받아 파일 쓰기파일 닫기:입력이 끝나면 fclose로 파일 닫기파일 다시 열기:fopen을 읽기 모드("r")로 열어 파일에 저장된 내용 읽기파일 내용 출력:fgets를 사용하여 파일 내용을 한 줄씩 읽어 화면 출력파일 닫기:읽기가 끝나면 fclose로 파일..

프로그래밍/C 2024.11.10

[C언어-응용문제] 학생 점수 관리 프로그램 (구조체 문제)

학생 점수 관리 프로그램학생의 이름과 점수를 입력받아 평균 점수를 계산하고, 평균 점수가 60점 이상이면 "합격", 아니면 "불합격"을 출력하는 프로그램을 작성 사용 개념:구조체(struct)배열반복문(for)조건문(if)입출력(scanf, printf)  풀이 방법구조체 선언:학생의 이름과 점수를 저장할 struct를 정의학생 데이터 입력:for 반복문을 사용하여 학생의 이름과 점수를 입력받고, 구조체 배열에 저장평균 점수 계산:반복문을 통해 입력된 점수의 총합을 계산하고, 평균 점수를 구합니다.합격 여부 판단:평균 점수가 60점 이상이면 "합격", 그렇지 않으면 "불합격"을 출력 코드#include #include // 1. 학생 정보를 저장할 구조체를 정의합니다.struct Student {    ..

프로그래밍/C 2024.11.09

[C언어-응용문제] 반복문을 사용한 구구단 출력

반복문을 사용한 구구단 출력- 사용자가 원하는 숫자를 입력받아 그 숫자의 구구단(1부터 9까지 곱한 결과)을 출력하는 프로그램 사용 개념:반복문(for): 일정한 작업을 반복 실행할 때 사용조건문(if): 특정 조건을 만족할 때만 실행되는 코드 작성입출력(printf, scanf): 사용자와의 상호작용을 위한 입력과 출력풀이 방법숫자 입력받기printf로 안내 메시지를 출력해 사용자가 원하는 숫자를 입력하도록 합니다.scanf를 사용해 입력된 숫자를 변수(number)에 저장합니다.숫자 범위 확인if 조건문을 사용해 입력된 숫자가 1에서 9 사이인지 확인합니다.숫자가 1~9 사이가 아니면 오류 메시지를 출력하고 프로그램을 종료합니다.반복문으로 구구단 출력입력된 숫자가 1~9 사이에 있는 경우, for 반..

프로그래밍/C 2024.11.07

[C언어-응용문제] 간단한 계산기 프로그램 만들기

간단한 계산기 프로그램- 두 개의 숫자와 연산자(+, -, *, /)를 입력받아 두 숫자의 계산 결과를 출력하는 프로그램 사용 개념:입출력(scnaf, printf)조건문(if)연산자(+, -, *, /) 풀이 방법 숫자와 연산자 입력printf로 안내 메시지를 출력해 사용자가 두 숫자와 연산자를 입력하도록 유도scanf를 사용해 첫 번째 숫자(num1), 연산자(op), 두 번째 숫자(num2)를 각각 입력연산자에 따른 계산 수행if 조건문을 통해 입력된 연산자(op)가 어떤 연산인지를 확인하고, 이에 따라 서로 다른 계산을 수행+가 입력되면 두 숫자를 더하고, -가 입력되면 두 숫자를 빼는 방식나눗셈 예외 처리나눗셈(/) 연산의 경우 두 번째 숫자가 0이면 나눌 수 없으므로 오류 메시지를 출력결과 출..

프로그래밍/C 2024.11.06

[C언어] 13. 메모리 관리 동적 메모리 할당 (malloc, calloc, free)

1. 메모리 관리의 기본 개념- 메모리 구조 : C에서 메모리는 크게 스택, 힙, 데이터, 코드 영역으로 나눈다. 스택(Stack) 영역 :- 함수 호출 시 자동으로 할당되는 메모리 영역으로, 지역 변수와 함수의 매개변수가 저장- LIFO(Last In First Out) 구조로 작동하며, 함수 호출이 종료되면 해당 함수에서 사용한 메모리가 자동으로 해제- 할당과 해제 속도가 빠름- 스택 영역의 크기는 한정되어 있으며, 너무 많은 데이터를 스택에 할당하면 스택 오버플로우가 발생  힙(Heap) 영역 :- 동적 메모리 할당을 통해 프로그램이 실행되는 동안 필요할 때마다 메모리를 할당할 수 있는 영역- 프로그램에서 직접 관리해야 하며, malloc, calloc, realloc 함수로 메모리를 할당하고 fr..

프로그래밍/C 2024.11.01

[C언어] 12.파일 입출력 (fopen, fclose, fread, fwrite)

1. 파일 입출력의 기본 개념- 파일 입출력은 주로 파일을 열고 데이터를 읽거나 쓴 후 파일을 닫는 순서로 진행- 파일을 다루기 위해서는 먼저 해당 파일을 열어야 하며, 이를 위해 fopen 함수를 사용 - 파일 작업이 끝나면 반드시 파일을 닫아야 하며, fclose 함수 사용 fopen- fopen 함수는 파일을 열 때 사용하는 함수- 파일의 경로와 모드를 인자로 받고, 모드는 파일 읽기, 쓰기, 추가 등의 방식으로 나타냄- filename : 열고자 하는 파일의 이름(경로)- mode : 파일을 열 때의 모드 > r : 읽기 전용으로 파일을 열고, 파일이 존재하지 않으면 NULL 반환 > w : 쓰기 전용으로 파일을 열고, 파일이 존재하지 않으면 새 파일 생성, 존재하면 파일의 내용을 모두 삭제 한 ..

프로그래밍/C 2024.10.25

[C언어] 11. 구조체(Structure) (구조체와 배열, 구조체와 포인터)

1. 구조체- 구조체는 서로 다른 데이터 타입의 변수를 하나로 묶어 사용할 수 있게 해주는 사용자 정의 데이터 타입- 관련된 정보를 하나의 그룹으로 묶고자 할 때 유용- 학생의 이름, 나이, 성적과 같은 정보를 저장할 때, 이 정보를각각의 변수로 저장하는 대신 하나의 구조체로 묶어 관리  2. 구조체 선언- 구조체를 선언하려면 struct 키워드를 사용한 후, 구조체의 정의를 작성- Student라는 구조체를 선언 > 이름(name), 나이(age), 성적(grade)을 하나의 데이터로 묶어서 관리    struct Student {    char name[50];  // 학생 이름    int age;        // 학생 나이    float grade;    // 학생 성적};   3. 구조체 변..

프로그래밍/C 2024.10.24
반응형