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

C 프로그래밍

  1. C 언어로 일수를 개월 수와 일로 변환하는 프로그램 만들기

    개요이 글에서는 사용자로부터 총 일수를 입력받아, 이를 개월 수와 남은 일수로 변환하여 출력하는 C 프로그램을 살펴보겠습니다. 예를 들어 456일을 입력하면 15개월 6일처럼 표현할 수 있습니다.변환 공식일수를 월 단위로 변환하는 기본 공식은 다음과 같습니다. 한 달을 30일로 가정하고 정수 나눗셈을 활용합니다.Month = days / 30그리고 나머지 연산자(%)를 사용하면 한 달로 나누고 남은 일수를 구할 수 있습니다.Days = days % 30알고리즘다음은 일수를 개월 수와 일수로 변환하는 알고리즘입니다.1단계: 시작2단계

  2. C 언어로 문자 유형 검사하기 – ctype.h 분석·변환 함수 완벽 가이드

    C 언어에서는 ctype.h 헤더 파일에 미리 정의된 다양한 함수들을 통해 입력받은 문자를 분석하고 변환할 수 있습니다. 이러한 함수들을 활용하면 사용자가 입력한 문자가 알파벳인지, 숫자인지, 특수 기호인지 등을 손쉽게 판별할 수 있습니다.1. 문자 분석 함수ctype.h 라이브러리에서 제공하는 주요 문자 분석 함수는 다음과 같습니다.함수검사 내용isalpha()알파벳인지 여부isdigit()숫자(0~9)인지 여부isspace()공백, 줄바꿈(\n) 또는 탭인지 여부ispunct()특수 기호인지 여부islower()소문자 알파벳인지

  3. C 언어 goto 문 사용법: 다섯 개 숫자의 제곱근을 계산하는 예제 프로그램

    이 C 프로그램은 다섯 개의 숫자에 대해 제곱근을 계산합니다. 변수 count는 지금까지 읽어 들인 숫자의 개수를 저장하며, count가 5보다 작거나 같으면 goto read 문이 프로그램의 제어를 read 레이블 위치로 되돌립니다. count가 5를 초과하면 프로그램은 완료 메시지를 출력한 뒤 종료됩니다.goto 문이란?goto 문은 프로그램의 정상적인 실행 흐름을 벗어나 제어를 프로그램 내 다른 부분으로 무조건 전송할 때 사용되는 제어문입니다. 레이블(label)은 콜론(:)으로 끝나는 식별자로 정의되며, goto 문을 만나면

  4. C 언어로 숫자를 X 패턴으로 출력하는 프로그램

    C 언어를 사용해 숫자를 X자 형태의 패턴으로 출력하는 방법을 소개합니다. 아래의 알고리즘과 예제 코드를 참고하면 누구나 쉽게 구현할 수 있습니다.알고리즘1단계: 시작 2단계: 변수 선언 3단계: 행(row)의 개수 입력받기 4단계: for 루프 조건 검사 - if(i==j || i+j==rows-1) - i+1 값 출력 - 그 외의 경우 공백( ) 출력 5단계: 줄바꿈(new line) 출력 6단계: 종료핵심 로직X 패턴은 두 개의 대각선이 교차하는 형태입니다. 조건식 i==j는 왼쪽 위에서 오른쪽 아

  5. 사용자가 입력한 배열의 유형을 판별하는 C 프로그램

    문제 설명이번 글에서는 사용자가 입력한 배열의 유형을 판별하는 C 프로그램을 작성해 보겠습니다. 즉, 배열에 담긴 요소들이 모두 홀수인지, 모두 짝수인지, 아니면 홀수와 짝수가 섞여 있는 혼합형인지를 확인하는 것이 목표입니다.해결 방법사용자로부터 정수 배열을 입력받은 뒤, 해당 배열의 유형을 화면에 출력하면 됩니다.예시 1 − 입력: 5 3 1 → 출력: 홀수 배열(Odd Array)예시 2 − 입력: 2 4 6 8 → 출력: 짝수 배열(Even Array)예시 3 − 입력: 1 2

  6. 포인터를 활용해 사용자가 입력한 배열 유형(짝수·홀수·혼합)을 판별하는 C 프로그램

    문제 정의이번 글에서는 포인터(pointer)를 활용하여 배열의 유형을 판별하는 C 프로그램을 작성해 보겠습니다. 여기서 판별할 내용은 다음과 같습니다.배열의 모든 요소가 짝수인지배열의 모든 요소가 홀수인지짝수와 홀수가 섞여 있는 혼합(mixed) 배열인지해결 방법사용자로부터 정수 배열을 입력받은 후, 해당 배열이 어떤 유형에 속하는지 화면에 출력합니다.예시입력: 5 3 1 → 출력: 홀수 배열(Odd)입력: 2 4 6 8 → 출력: 짝수 배열(Even)입력: 1 2 3 4 5 → 출력: 혼합 배열(Mix

  7. C 언어로 나선형 패턴 숫자 출력하기: 핵심 로직과 전체 코드

    나선형 패턴이란?나선형(spiral) 패턴은 숫자를 두 개의 열에 배치하면서 행마다 출력 방향을 번갈아 바꿔 지그재그 형태로 만드는 출력 기법입니다. 첫 번째 행은 왼쪽에서 오른쪽으로(1, 2), 두 번째 행은 오른쪽에서 왼쪽으로(4, 3) 숫자를 배치하는 방식으로 진행됩니다.프로그램 실행 결과로 만들어지는 나선형 패턴은 아래와 같습니다.출력 로직숫자를 나선형 패턴으로 출력하기 위해 적용되는 핵심 로직은 다음과 같습니다.반복 변수 i는 1부터 시작해 2씩 증가하며 rows*2까지 반복합니다.변수 k는 현재 행의 번호 역할을 하며,

  8. C 언어로 나선형 알파벳 패턴 출력하기: 완전 정리

    나선형 알파벳 패턴이란? 알파벳을 나선형(spiral) 패턴으로 표현하면 아래와 같은 형태의 출력물이 만들어집니다. 각 줄마다 두 개의 알파벳이 한 쌍을 이루며, 줄이 바뀔 때마다 문자의 순서가 좌우로 뒤바뀌어 지그재그처럼 배열되는 것이 특징입니다. 핵심 로직 나선형 모델로 알파벳을 표현할 때 사용되는 핵심 로직은 다음과 같습니다. if(rows<=13 && rows>=1){ for(i=1;i<=rows*2;i+=2){ if(k%2==1){ printf(%c

  9. C 언어에서 strcpy() 함수로 두 문자열 교환하는 방법

    C 프로그래밍에서 두 문자열의 위치를 서로 바꿀 때는 strcpy() 함수를 사용합니다. 문자 배열(character array), 즉 문자들이 모여 이루어진 집합을 문자열(string)이라고 부릅니다. 문자열 선언 문자열 배열을 선언하는 기본 문법은 다음과 같습니다. char stringname[size]; 예를 들어 char string[50];은 최대 50자를 저장할 수 있는 문자열을 의미합니다. 문자열 초기화 문자열은 두 가지 방식으로 초기화할 수 있습니다. 1. 단일 문자 상수 사용 char string[10] = {

  10. 배열의 모든 완전제곱수 요소의 합을 구하는 C 프로그램

    문제이번 글에서는 배열에 포함된 완전제곱수(perfect square) 요소들의 합을 구하는 C 프로그램을 작성해 보겠습니다.배열의 요소 개수를 입력받은 뒤, 그 요소들 중 완전제곱수에 해당하는 값들을 모두 찾아 더한 합계를 출력하는 것이 목표입니다.해결 방법먼저 예시를 통해 문제를 이해해 보겠습니다.입력 = 1, 2, 3, 4, 5, 9, 10, 11, 16완전제곱수 = 1, 4, 9, 16합 = 1 + 4 + 9 + 16 = 30출력: 30알고리즘배열의 완전제곱수 요소들의 합을 구하려면 아래 알고리즘을 따르면 됩니다.1단계 −

  11. C 언어 포인터로 배열 내 완전제곱수 요소의 합 구하기

    문제 정의이번 글에서는 포인터(pointer)를 사용하여 배열에 있는 완전제곱수(perfect square) 요소들의 합을 구하는 C 프로그램을 작성하는 방법을 알아보겠습니다.배열의 크기와 요소들을 입력으로 받은 뒤, 그중 완전제곱수에 해당하는 값들만 골라 합산한 결과를 출력하는 것이 목표입니다.문제 이해예를 들어 다음과 같은 배열이 주어졌다고 가정해 보겠습니다.입력 = 1, 2, 3, 4, 5, 9, 10, 11, 16완전제곱수 = 1, 4, 9, 16합 = 1 + 4 + 9 + 16 = 30출력: 30완전제곱수란 어떤 정수의 제

  12. C 언어에서 단순 어서션(Simple Assertion)이란 무엇인가?

    어서션(assertion)은 해당 코드 라인에 도달했을 때 특정 사실이 반드시 참(true)이어야 한다는 것을 명확하게 선언하는 문장입니다. 프로그램 실행 중 기대하는 조건이 충족되었는지 확인하는 데 유용하게 사용됩니다.단순 어서션(Simple Assertion)의 개념단순 어서션은 assert.h 헤더 파일에 포함된 assert(expression) 함수를 통해 구현할 수 있습니다.기본 문법은 다음과 같습니다.assert(expression)단순 어서션의 동작 방식어서션에 전달된 조건이 참일 경우, 아무런 동작도 수행하지 않고 프

  13. C 언어로 이름을 알파벳 순서로 정렬하는 프로그램 완벽 가이드

    이 프로그램에서는 사용자가 이름의 개수를 입력하면, strcpy() 함수를 활용하여 입력된 이름들을 알파벳 순서로 정렬합니다.문자 배열(character array), 즉 문자들의 집합을 문자열(string)이라고 합니다.문자열 선언문자열 배열은 다음과 같이 선언합니다.char stringname[size];예를 들어, char string[50];은 길이 50자의 문자열을 의미합니다.문자열 초기화문자열은 두 가지 방법으로 초기화할 수 있습니다.단일 문자 상수 사용char string[10] = { H, e, l, l, o, \0

  14. C 언어로 두 배열의 합집합(Union) 구현하기

    배열의 합집합(Union)은 두 배열에 속한 모든 원소를 중복 없이 하나로 모은 집합을 의미합니다. 이 글에서는 C 언어를 활용해 두 개의 배열에 대해 합집합 연산을 수행하는 방법을 예제 코드와 함께 단계별로 살펴보겠습니다.합집합 연산이란?예를 들어 다음과 같은 두 개의 배열이 있다고 가정해 보겠습니다.배열 1 = {1, 2, 3, 4, 6}배열 2 = {1, 2, 5, 6, 7}두 배열의 합집합은 다음과 같이 구할 수 있습니다.배열1 ∪ 배열2 = {1, 2, 3, 4, 6} ∪ {1, 2, 5, 6, 7} = {1, 2, 3,

  15. C 언어로 두 배열의 교집합(Intersection) 연산 구현하기

    교집합(Intersection) 연산이란?두 배열 사이의 교집합은 두 배열에 공통으로 존재하는 원소들의 집합을 의미합니다.예를 들어 다음과 같은 두 배열이 있다고 가정해 보겠습니다.배열 1 = {1, 2, 3, 4, 6}배열 2 = {1, 2, 5, 6, 7}이때 배열 1과 배열 2의 교집합은 다음과 같습니다.Array1 ∩ Array2 = {1,2,3,4,6} ∩ {1,2,5,6,7} = {1,2,6}즉, 두 배열 모두에 포함된 원소 {1, 2, 6}만 결과로 남게 됩니다.교집합 연산의 기본 논리교집합

  16. C 언어로 조합(nCr)과 순열(nPr) 계산하기

    조합(nCr)과 순열(nPr)이란? C 프로그래밍 언어에서 nCr은 조합(combination)을 의미합니다. 조합은 n개의 대상 가운데 r개를 선택하는 방법으로, 선택된 대상들의 순서는 고려하지 않습니다. nPr은 순열(permutation)을 의미합니다. 순열은 n개의 대상 가운데 r개를 뽑아 일정한 순서 또는 배열로 나열하는 방법입니다. 순열과 조합 공식 C 언어에서 주어진 두 수의 순열과 조합을 구하는 공식은 다음과 같습니다. nCr = n! / (r! × (n−r)!) nPr = n! / (n−r)! nCr을 구하는

  17. C 언어로 배우는 아나그램(Anagram): 개념부터 판별 프로그램까지

    아나그램(Anagram)이란 무엇일까요?아나그램(anagram)이란 두 문자열에 포함된 모든 문자가 동일한 횟수만큼 등장하는 관계를 말합니다. 즉, 문자열의 순서는 달라도 어떤 문자가 몇 번씩 사용되었는지가 완전히 같다면, 그 두 문자열은 서로 아나그램 관계라고 할 수 있습니다.두 문자열이 아나그램인지 확인하려면 다음 과정을 거칩니다.먼저 사용자로부터 두 개의 문자열을 입력받습니다. 그다음 각 알파벳(a부터 z까지)이 각 문자열에 몇 번 등장하는지 빈도수를 계산합니다. 여기서 빈도(frequency)란 특정 알파벳이 문자열 안에 나

  18. C 프로그래밍: 구조체를 활용해 원의 넓이와 원기둥의 표면적·부피 계산하기

    C 프로그래밍에서는 구조체(structure)를 활용하여 원의 넓이와 원기둥의 표면적, 부피를 손쉽게 계산할 수 있습니다. 구조체를 사용하면 길이, 반지름, 면적, 부피처럼 서로 관련된 데이터를 하나의 단위로 묶어 관리할 수 있어 코드가 더욱 체계적이고 가독성이 높아집니다. 핵심 계산 로직 1. 원의 넓이 s.areacircle = (float)pi*s.radius*s.radius; 반지름의 제곱에 원주율(pi)을 곱하여 원의 넓이를 구합니다. 2. 원기둥의 표면적 s.areacylinder = (float)2*pi*s.radius

  19. C 언어 동적 연결 리스트로 자동차 정보 저장하기 – 완전 정리

    연결 리스트(Linked List)는 동적 메모리 할당을 사용하는 자료구조입니다. 즉, 데이터의 개수에 따라 크기가 유연하게 늘어나거나 줄어들 수 있으며, 여러 개의 노드(Node)가 모여 하나의 리스트를 이룹니다.노드의 구성 요소노드는 다음 두 가지 부분으로 구성됩니다.데이터(Data) – 실제 저장하고자 하는 값링크(Link) – 다음 노드를 가리키는 포인터연결 리스트의 종류C 프로그래밍에서 사용되는 연결 리스트는 크게 다음과 같이 나눌 수 있습니다.단일 연결 리스트(Singly Linked List)이중 연결 리스트(Doubl

  20. C 언어 for 루프로 하트 패턴 중앙에 이름 출력하기

    문제 정의 for 루프를 사용하여 별(*)로 하트 모양 패턴을 그리고, 그 중앙에 이름을 출력하는 C 프로그램을 작성하는 것이 이 글의 목표입니다. 해결 방법 프로그램은 사용자로부터 두 가지 값을 입력받습니다. 하나는 하트 중앙에 출력할 이름이고, 다른 하나는 별을 출력할 행(줄)의 개수입니다. 입력받은 이름의 길이를 계산한 뒤, 하트의 윗부분과 아랫부분을 각각 별로 출력하고 마지막 줄 중앙에 이름을 배치하는 방식으로 동작합니다. 알고리즘 아래 알고리즘을 순서대로 따르면 for 루프만으로 하트 패턴 안에 이름을 출력할 수 있습

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