Computer >> 컴퓨터 >  >> 프로그래밍 >> C 프로그래밍

C 프로그래밍

  1. C 언어로 주어진 정수의 모든 0을 1로 바꾸는 프로그램

    문제 정의주어진 정수에 포함된 모든 0(영)을 1로 바꾸는 프로그램을 작성하는 것이 목표입니다.정수 하나가 입력으로 주어지면, 그 숫자 안에 있는 모든 0을 1로 교체한 결과를 출력해야 합니다.문제 이해하기예시를 통해 살펴보겠습니다.입력이 102410이라면 출력은 112411이 됩니다. 숫자 내의 모든 0 자리가 1로 변경된 것을 확인할 수 있습니다.알고리즘정수 내의 모든 0을 1로 바꾸기 위해 아래 알고리즘을 따릅니다.1단계 − 사용자로부터 정수를 입력받습니다.2단계 − 정수를 한 자리씩 순회하며 검사합니다.

  2. C 언어 이진 검색 완벽 가이드: 배열에서 최솟값 찾는 방법과 예제 코드

    C 언어의 두 가지 검색 기법 C 프로그래밍 언어는 대표적으로 두 가지 검색 기법을 제공합니다. 선형 검색(Linear Search) − 처음부터 끝까지 요소를 하나씩 순서대로 확인하는 방식 이진 검색(Binary Search) − 탐색 범위를 절반씩 줄여가며 빠르게 찾아내는 방식 이진 검색이란? 이진 검색은 정렬된 리스트에만 적용할 수 있다는 전제 조건을 가진 고속 탐색 알고리즘입니다. 동작 과정은 다음과 같습니다. 주어진 리스트를 두 개의 동일한 부분으로 나눕니다. 찾으려는 키(key) 값을 리스트의 중간 요소와 비교합니

  3. C 언어로 연결 리스트(Linked List)의 길이 구하기 – 재귀 함수 활용 완벽 가이드

    연결 리스트(Linked List)는 동적 메모리 할당(dynamic memory allocation)을 사용하는 자료구조입니다. 즉, 데이터가 추가되거나 삭제될 때 필요에 따라 크기가 늘어나거나 줄어들 수 있습니다.연결 리스트는 여러 개의 노드(node)로 구성된 집합으로 정의되며, 각 노드는 두 부분으로 이루어져 있습니다.데이터(Data) : 실제 저장되는 값링크(Link) : 다음 노드를 가리키는 포인터연결 리스트의 종류연결 리스트는 크게 네 가지 유형으로 나눌 수 있습니다.단일 연결 리스트(Singly Linked List)

  4. C 언어로 일차 방정식(ax+b=0)의 해 구하기: 완벽 가이드

    C 프로그래밍 언어에서 소프트웨어 개발 방법론을 적용하면 일차 방정식(선형 방정식)의 해를 체계적으로 구할 수 있습니다. 이 글에서는 요구사항 정의부터 분석, 알고리즘 설계, 실제 코드 작성까지 전체 과정을 단계별로 살펴보겠습니다.1. 문제 정의 (요구사항)방정식은 ax + b = 0 형태의 일차 방정식이어야 합니다.계수 a와 상수항 b는 사용자로부터 입력받으며, 미지수 x의 값을 구하는 것이 목표입니다.2. 문제 분석소프트웨어 개발 과정에서 입력과 출력을 명확히 구분하는 것이 중요합니다.입력(Input): 계수 a와 b의 값출력(

  5. 두 소수의 합으로 숫자를 표현하는 C 프로그램 작성 방법

    문제 정의 주어진 양의 정수 N이 두 소수(prime number)의 합으로 표현될 수 있는지 판별하는 프로그램을 작성해야 합니다. 접근 방법 먼저 간단한 예시를 통해 문제를 이해해 보겠습니다. 예를 들어 20은 다음과 같이 두 소수의 합으로 나타낼 수 있습니다. 20 = 3 + 17 20 = 13 + 7 반면 11처럼 두 소수의 합으로 표현할 수 없는 숫자도 존재합니다. 참고로 골드바흐 추측에 따르면 2보다 큰 모든 짝수는 두 소수의 합으로 표현될 수 있다고 알려져 있으며, 이 프로그램은 그러한 성질을 직접 코드로 확인해 볼

  6. C 프로그램으로 배열에서 고유한(중복 없는) 요소 찾기

    문제 개요배열에서 중복되지 않는 고유한 요소를 찾으려면 두 개의 루프를 사용합니다. 외부 루프는 현재 요소를 하나씩 선택하고, 내부 루프는 해당 요소와 같은 값이 배열의 다른 위치에 이미 존재하는지 검사합니다.예시다음 예시를 살펴보겠습니다.15, 15, 16, 15, 13, 15위 배열에서 중복되지 않는 요소는 16과 13입니다.알고리즘배열에서 고유한(중복되지 않는) 요소를 찾는 알고리즘은 다음과 같습니다.배열을 선언하고, 실행 시점에 사용자로부터 배열 요소를 입력받습니다.배열을 순회하면서 현재 요소가 배열의 다른 위치에 이미 존재

  7. C 언어에서 포인터를 활용해 배열 요소의 합 계산하는 방법 완벽 정리

    포인터(Pointer)는 다른 변수의 메모리 주소를 저장하는 변수입니다. C 언어에서 포인터는 배열을 효율적으로 다루는 데 필수적인 개념이며, 이 글에서는 포인터의 기본 개념부터 배열 요소의 합을 계산하는 실전 예제까지 단계별로 살펴보겠습니다.포인터란 무엇인가?포인터는 변수의 값이 아닌, 그 변수가 저장된 메모리 주소를 담고 있는 변수입니다. 다음 예시를 통해 이해해 보겠습니다.int qty = 179;위 코드에서 변수 qty는 179라는 값을 가지며, 메모리상의 특정 주소에 저장되어 있습니다. 포인터는 바로 이 주소값을 참조할 수

  8. C 언어로 배열을 내림차순으로 정렬하는 프로그램 만들기

    문제 정의 주어진 배열의 요소들을 내림차순(또는 오름차순)으로 정렬하는 C 프로그램을 작성해야 합니다. 배열이란 무엇인가? 배열(Array)은 동일한 자료형의 관련 데이터 항목들이 하나의 공통된 이름 아래 모여 있는 자료 구조입니다. 배열 안의 특정 값은 인덱스 번호(index number)를 통해 식별할 수 있습니다. 배열 선언하기 C 언어에서 배열을 선언하는 기본 문법은 다음과 같습니다. datatype array_name [size]; 예시를 살펴보겠습니다. float marks[50]; 위 코드는 실수형(float) 요소

  9. C 언어로 배열을 오름차순으로 정렬하는 프로그램 완벽 가이드

    문제 개요이 글에서는 C 언어를 사용하여 주어진 배열의 요소들을 오름차순(작은 값부터 큰 값 순서)으로 정렬하는 방법을 알아봅니다. 선택 정렬(Selection Sort)과 유사한 기본적인 비교·교환 방식을 활용하며, 초보자도 쉽게 이해할 수 있도록 단계별로 설명합니다.배열(Array)이란?배열은 동일한 자료형의 데이터 항목들이 하나의 공통된 이름 아래 연속적으로 저장된 자료 구조입니다. 배열에 저장된 특정 값은 고유한 인덱스 번호(index number)를 통해 식별하고 접근할 수 있습니다.배열 선언 방법C 언어에서 배열을 선언하

  10. C 언어 포인터를 활용해 배열에 요소를 삽입하는 프로그램

    문제 정의사용자가 프로그램 실행 중에 배열에 요소를 삽입하고, 그 결과를 화면에 출력하는 C 프로그램을 작성해야 합니다. 만약 삽입하려는 위치가 배열의 크기보다 크다면 잘못된 입력(Invalid Input)이라는 메시지를 표시해야 합니다.해결 방법배열(Array)은 성격이 같은 여러 데이터를 하나의 이름 아래 묶어 저장하는 자료구조입니다. 배열에서 수행할 수 있는 기본 연산은 다음과 같습니다.삽입(Insert)삭제(Delete)검색(Search)이 글에서는 포인터와 동적 메모리 할당(malloc())을 활용해 배열에 새로운 요소를

  11. C 언어 포인터를 활용해 배열 요소를 삭제하는 프로그램 만들기

    문제 정의사용자가 프로그램 실행 중(런타임)에 배열에서 삭제할 요소의 위치를 직접 입력하고, 삭제가 완료된 배열의 내용을 화면에 출력하는 C 프로그램을 작성해 보겠습니다. 이때 입력한 위치가 배열의 유효 범위를 벗어나면 잘못된 입력(Invalid Input)이라는 메시지를 표시해야 합니다. 해결 방법배열(Array)은 성격이 같은 여러 데이터를 하나의 이름 아래에 묶어 관리할 수 있는 가장 기본적인 자료구조입니다. 배열에서 수행할 수 있는 대표적인 연산은 다음과 같습니다. 삽입(Insert) – 배열에 새로운 요소를 추가합니다.

  12. C언어 병합 정렬(Merge Sort)로 배열 정렬하는 방법

    배열(Array)은 공통의 이름을 공유하는 관련 데이터 항목들의 집합입니다. 배열에서 특정 값은 인덱스 번호(index number)를 통해 식별할 수 있습니다. 배열 선언하기 배열을 선언하는 기본 문법은 다음과 같습니다. datatype array_name [size]; 예시: float marks [50] 위 코드는 실수형(float) 요소 50개를 담는 marks 배열을 선언합니다. int number[10] 이 코드는 최대 10개의 정수를 저장할 수 있는 number 배열을 선언합니다. 배열의 각 요소는 배열 인덱스(arra

  13. C 언어 포인터를 활용해 세 수 중 가장 큰 수 찾는 방법

    포인터(Pointer)는 다른 변수의 메모리 주소를 저장하는 변수입니다. 포인터를 사용하면 null 값을 다룰 수 있으며, 참조에 의한 전달(pass by reference) 방식으로 데이터에 접근할 수 있습니다. 또한 포인터 변수를 선언할 때 반드시 초기화할 필요는 없습니다. 포인터의 기본 문법 포인터의 기본적인 선언 및 대입 문법은 다음과 같습니다. pointer_variable = &another_variable; 예를 들어, 변수 a의 주소를 포인터 p에 저장하려면 아래와 같이 작성합니다. p = &a; 여기서 &(주소 연산

  14. C 언어 비형식 입출력 함수 완벽 정리: getchar, gets, putchar, puts 사용법

    비형식(unformatted) 입출력 함수는 사용자가 입력한 단일 데이터를 별도의 서식 지정 없이 그대로 읽어 들이고, 콘솔 화면에 값을 출력할 수 있게 해주는 함수입니다. 이번 글에서는 C 언어의 대표적인 비형식 입력 함수와 출력 함수의 개념, 문법, 실제 동작 예제까지 자세히 살펴보겠습니다.비형식 입력 함수C 언어에서 주로 사용되는 비형식 입력 함수는 getchar()와 gets()입니다.getchar()getchar() 함수는 키보드로부터 문자 하나를 입력받아 반환합니다.기본 문법은 다음과 같습니다.변수명 = getchar()

  15. 포인터를 활용해 배열 요소를 검색하는 C 프로그램 작성 방법

    문제 개요 C 언어로 프로그램을 작성하여, 실행 시간(런타임)에 사용자가 입력한 배열 안에서 특정 요소를 검색하고 그 결과를 화면에 출력해야 합니다. 만약 검색하려는 요소가 배열에 존재하지 않는다면 "요소를 찾을 수 없다"는 메시지를 표시하도록 합니다. 해결 방법 배열(Array)은 성격이 같은 여러 데이터를 하나의 이름 아래 묶어서 관리할 수 있는 자료구조입니다. 배열에서 수행할 수 있는 대표적인 연산은 다음과 같습니다. 삽입(Insert) 삭제(Delete) 검색(Search) 알고리즘 포인터를 이용해 배

  16. C 언어로 입력 문자열에서 괄호를 제거하는 프로그램 만들기

    문제 정의수식에서 괄호를 제거하여 더 간단한 형태의 표현식을 만드는 프로그램을 작성해 보겠습니다.해결 방법예제 1입력 (괄호가 포함된 문자열 수식):(x+y)+(z+q)출력:x+y+z+q예제 2입력:(x-y+z)-p+q출력:x-y+z-p+q알고리즘주어진 입력 문자열에서 괄호를 제거하기 위한 알고리즘은 다음과 같습니다.1단계: 필요한 변수를 선언하고, 실행 시점에 사용자로부터 문자열을 입력받습니다.2단계: 문자열의 처음부터 끝까지 한 글자씩 순회합니다.3단계: 입력 문자열의 각 문자를 새로운 문자열에 복사합니다.4단계: 순회 중 여는

  17. C 언어로 좌표의 사분면 위치 판별하기

    문제 정의사용자로부터 입력받은 좌표(x, y)가 어느 사분면(Quadrant)에 속하는지 판별하는 프로그램을 작성해 보겠습니다. 프로그램은 실행 중에 사용자가 입력한 좌표를 읽어 들인 후, 해당 좌표가 위치한 사분면을 화면에 출력해야 합니다.판별 기준2차원 좌표평면은 x축과 y축에 의해 네 개의 영역, 즉 사분면으로 나뉩니다. 각 사분면의 판별 조건은 다음과 같습니다.제1사분면 (1st Quadrant)x좌표와 y좌표가 모두 양수일 경우 제1사분면에 위치합니다.예시: 입력 = 2, 3출력 = 제1사분면제2사분면 (2nd Quadra

  18. C언어로 입력한 문자의 종류 판별하기 – 대문자·소문자·숫자·특수문자 구분 프로그램

    이 글에서는 사용자가 입력한 문자가 대문자, 소문자, 숫자, 특수문자 중 어느 것에 해당하는지 판별하는 C 프로그램을 다룹니다.해결 방법입력받은 문자의 ASCII 값을 기준으로 문자의 종류를 구분할 수 있습니다. 각 경우별 동작 방식은 다음과 같습니다.1. 대문자인 경우입력한 문자가 영문 대문자라면 대문자(Upper Case)라고 출력합니다.입력 예시: H 출력 결과: Upper Case Letter (대문자)2. 소문자인 경우입력한 문자가 영문 소문자라면 소문자(Lower Case)라고 출력합니다.입력 예시: g 출력 결과: Lo

  19. C 언어로 이해하는 1차원·2차원 배열 처리 완벽 가이드

    C 프로그래밍에서 배열은 여러 개의 데이터를 하나의 이름으로 효율적으로 관리할 수 있게 해주는 핵심 자료구조입니다. 이 글에서는 1차원 배열과 2차원 배열에 값을 저장하고(입력) 저장된 값을 꺼내는(출력) 방법을 예제 코드와 함께 단계별로 살펴보겠습니다.1차원(1D) 배열 처리값 저장하기 (입력)1차원 배열에 값을 저장하려면 반복문(for)을 사용하여 각 인덱스에 순서대로 값을 입력합니다.int num[5]; int i; for(i = 0; i < 5; i++){ scanf(%d, &num[i]); }저장된 값

  20. C 언어 math.h 라이브러리 핵심 함수 총정리: 사용법과 예제 코드

    C 언어에서 수학과 관련된 다양한 함수들은 모두 math.h 헤더 파일에 선언되어 있습니다. 이 헤더 파일을 프로그램에 포함하면 삼각함수, 지수 함수, 제곱근 계산 등 수치 연산에 필요한 표준 라이브러리 함수를 자유롭게 사용할 수 있습니다.이 글에서는 math.h에서 자주 사용되는 핵심 함수들의 역할, 문법, 그리고 실제 예제를 하나씩 자세히 살펴보겠습니다.1. sin() – 사인 값 계산sin() 함수는 인자로 전달된 값(라디안 단위)의 사인(sine) 값을 구하는 데 사용됩니다.문법은 다음과 같습니다.double sin(doub

Total 1443 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:68/73  20-컴퓨터/Page Goto:1 62 63 64 65 66 67 68 69 70 71 72 73