오늘도 C언어 문제를 풀어보도록 하겠습니다. C언어 문제는 아래와 같습니다. Background정수 세 개를 입력받아 합과 평균을 출력해보자.(단, -2147483648 ~ 2147483647) Input정수 세 개가 공백을 두고 입력된다.(단, -2147483648 ~ 2147483647) Output합과 평균을 줄을 바꿔 출력한다.평균은 소수점 둘째 자리에서 반올림해 첫째 자리까지 출력한다. IO Example입력1 2 3 출력62.0 #include int main(void) { int a=0, b=0, c=0, sum=0; double average=0.0; scanf("%d %d %d", &a, &b, &c); // 합계와 평균 계산 sum = a+b+c; average = sum / 3.0; ..
최대 100자의 문자를 키보드로부터 입력받아 이를 아래와 같이 출력하는 과정을 계속 반복하는 프로그램을 작성하라. 단, 'x'만 입력되면 프로그램은 종료된다. 키보드 입력은 gets() 함수를 사용한다. (포인터 개념 이용. 한글 입력은 제외) 입력 : abcdef -> 출력 afbecd #include #include int main() { char str[100]; char index1=0,index2=0, str_len=0; // 문자열 입력 받음 gets(str); // z인 경우 종료 if (!strcmp(str, "z")) return -1; // 배열 인덱스를 0부터 시작하는 인덱스와 문자열의 마지막부터 시작하는 인덱스 // 두개로 나누어서 index1은 1씩 더하고 index2는 1씩 뺀다..
C언어 이야기 [C언어] malloc(), free() 함수를 이용한 메모리 동적 할당 예제 C언어의 메모리 할당 방식의 종류 C언어에서의 메모리 할당 방식은 크게 두 가지 방식으로 나뉩니다. 바로 정적인 방식과 동적인 방식입니다. 첫번째, 정적인 방식이란? 정적인 방식은프로그램이 실행되기 이전에 이미 변수의 저장공간을 할당하고 그 모듈이나 프로그램이 종료되면 변수가 해지되는 방식입니다. Ex) int a = 10 ; 두번째, 동적인 방식이란? - 동적인 방식은 실행 중에 필요한 메모리를 할당하는 방식입니다. >> 동적인 메모리 할당 방식에 대해 알아봅시다 그러면 동적인 메모리 할당 방식에 대해서 알아보겠습니다. 동적인 메모리 할당은 malloc()함수를 사용합니다. malloc()함수는 stdlib.h..
C언어로 만든 디지털 시계 소스코드입니다. 네이버 지식인에 어떤 분이 C언어 디지털 시계를 만드신다고 하면서 소스코드 수정을 요청 질문이 올라왔기에 한번 해봤어요. 출처 http://kin.naver.com/qna/detail.nhn?d1id=1&dirId=1040101&docId=185789762&page=1#answer1 #include #include #include #include #include long time_to_number(void); void dot_print(int hour); void digital_print(int dim[], int check); void gotoxy(int x, int y); void number_check(int k, int i); int hour_to_num..
[C언어 소스] 주소 관리 프로그램 소스 이 포스팅에서는 주소 관리 프로그램 소스를 공개하도록 할게요. 이 주소 관리 프로그램은 사용자 정보(이름, 주소, 전화번호, 휴대폰, e-mail)를 등록하고, 출력하고 삭제할 수 있는 프로그램입니다. 이 소스를 조금 변형하시면 더 멋진 프로그램을 만들 수 있지 않나 싶네요^^ 주소 관리 프로그램 소스 공개 아래의 파일을 클릭하시면 다운로드 받으실 수 있습니다. #include #include #include struct _node { char name[10];// 이름 char address[30];// 주소 char phone[14];// 전화번호 char mobile[14];// 핸드폰 char mail[20];// e-mail struct _node *li..
[한방에 이해하는 C언어] 키보드로부터 입력을 받자! scanf()함수 우리가 전 시간에 printf()함수를 이용해서 화면에 출력을 해보았습니다. 다 해보셨죠? 그런데 printf()함수만으로는 우리가 원하는 프로그램을 만들 수 없습니다. 적어도 요즘 많은 프로그램들은 최소한 아이디와 비밀번호는 입력하게끔 되어 있으니 말이죠. 그래서 오늘은 C언어에서 키보드로 입력을 할 수 있는 scanf()함수에 대해서 알아보도록 하겠습니다. scanf() 함수의 스펙 아래의 내용을 scanf() 함수의 특성을 한 눈에 볼 수 있도록 정리한 것입니다.잘 모르더라도 일단 넘어가면 됩니다. 나중에 다 알게 되니까요^^ 예제 소스 - scanf()로 숫자를 입력받아 입력받은 숫자를 출력하는 소스 이번에는 C언어에서 지원하..
C언어 정렬 - 버블정렬(Bubble Sort) 쉽게 정리하기 버블 정렬(Bubble Sort)은 두 인접한 원소를 검사하여 정렬하는 방법입니다. 버블 정렬(Bubble Sort)은 시간 복잡도가 O(n^2)로 상당히 느리지만, 코드가 단순하기 때문에 자주 사용되는데요. 원소의 이동이 거품이 수면으로 올라오는 듯한 모습을 보이기 때문에 지어진 이름이라고 하네요. 버블 정렬(Bubble Sort) - 두 인접한 원소를 검사하여 정렬하는 방법 - 시간 복잡도 O(n^2) - 코드가 단순하기 때문에 자주 사용됨 버블 정렬 알고리즘 실행 과정 해부하기 버블 정렬 알고리즘의 실행 과정을 보도록 하겠습니다. 이 버블 정렬 알고리즘은 인접한 두 수를 비교해서 큰 수를 뒤로 보내는 알고리즘이라고 위에서 설명한 바 있는..
C언어 함수 fprintf()와 fscanf()의 개념부터 예제 소스까지 모든 것 총망라! 함수 fprintf()와 fscanf()를 이용한 파일 저장과 내용 읽기를 해보도록 하겠습니다.함수 fprintf()는 특정 내용을 파일에 저장할 때 사용하는 함수, 함수 fscanf()는 파일에 있는 내용을 읽을 때에 사용하는 함수라고 할 수 있겠습니다. 함수 fprintf()와 fscanf()의 원형 함수 fprintf()와 fscanf()의 원형을 확인해 보도록 하겠습니다. 맨 앞의 입출력에 이용되는 첫번째 인자는 표준 입출력에도 이용할 수 있습니다. 이 말이 무엇이냐하면 함수 fprintf()와 fscanf()의 첫 번째 인자에 stdin 또는 stdout을 이용하면 표준 입력, 표준 출력으로 이용이 가능하..
사용자로부터 1~12까지의 달을 month로 입력받은 후 1월부터 입력된 month 월까지의 총일을 total에 구하여 다음과 같이 출력하시오. 프로그램을 단순화하기 위해 2월이 29일까지 있는 윤년은 고려하지 않고 2월은 무조건 28일까지로 처리한다.hint. 열두 달의 일수를 저장하기 위해 1차원 배열을 사용한다. 이때 다음과 같이 배열의 첨자가 곧바로 월을 의미하도록 배열의 크기를 13으로 선언하여 두 번째 원소부터 각 월의 일수를 저장하는 것도 첨자로 인한 헷갈림을 피할 수 있는 방법이다.int days[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; 프로그래밍 문제를 풀어보세요. #include int main() { int days[13..
[C언어 소스] 오늘 날짜를 INT형으로 받기 C언어 소스입니다. 소스는 오늘 날짜를 INT형으로 받는 소스인데요. 예를 들면 년도 2자리와 월 2자리, 일 2자리를 받는 것입니다. 130617 이렇게 말이죠. 년도의 십단위만 구해서 만을 곱하고 월을 구해서 백을 곱하고 일자를 더하면 됩니다. #include #include int main() { time_t timer; struct tm *t; int nowday; timer = time(NULL); t = localtime(&timer); nowday = (t->tm_year%100)*10000+(t->tm_mon+1)*100+t->tm_mday; printf("%d",nowday); return 0; } 위 소스를 실행하면 아래와 같이 현재 년월일..
C언어를 하다 보면 소스코드의 맨 처음에 #으로 시작하는 코드들이 있습니다. 저도 이걸 처음 보고는 '어? 이건 뭐지?" 했는데요. 이 강좌를 통해서 C언어 소스코드에서 #으로 시작하는 것이 무엇인지 파헤쳐 보도록 하겠습니다. 전처리기지시자(Preprocessor directives) C언어 소스코드를 보면 #으로 시작하는 코드들이 있는데요. 이 #으로 시작하는 코드를 C언어에서는 전처리기(preprocessor)라고 부릅니다. 전처리기(preprocessor)란 컴파일러가 번역하기 전에 처리한다는 의미입니다. 다시 말하면, 소스코드를 전처리기가 처리한 다음에 그 결과를 컴파일러가 번역한다는 것인데요. 전처리기 지시자들은 전처리기가 할 일을 가르쳐주는 문장으로서 ‘#’ 기호로 시작합니다. 전처리기지시자(..
주석(Comment)이란? 파일을 열었는데 설명은 없고 소스코드만 잔뜩 있다면 어느 누구라도 소스코드를 쉽게 이해할 수 없겠죠? 그래서 주석이라는 요놈이 있는 것입니다. 주석은 소스코드를 보는 개발자들을 위해 소스코드를 설명한 부분을 말합니다. 주석(Comment)이란?- 컴파일러(compiler)에 의해 번역되지 않는 부분을 말합니다.- 주로 개발자들의 프로그램 이해를 돕기 위해 설명하는 부분입니다. 백번 말해도 한 번 보는 것이 낫습니다. 아래의 그림이 바로 실제 소스코드인데요. 아래의 그림을 보시면 녹색 부분이 바로 주석입니다. 간단한 소스라서 주석이 무엇이 필요있나? 생각하실 지도 모르지만 소스코드가 1000줄이 넘어가고 10000줄이 넘어가면 주석이 없이는 이해하기 힘들 것입니다. 주석(Comm..
이번에 볼 소스는 함수 gets()로 문자열을 입력 받아서 공백단위로 출력시키는 소스입니다. 문자열을 입력받아서 공백 단위로 끊어서 출력하는 소스이지요. 예를들어 i love you라고 입력하면 I love you 라고 출력하는 예제입니다. 먼저 출력 화면을 보도록 하겠습니다. 다음과 같이 출력되게 소스를 구성하면 되겠습니다. 소스보기 아래는 C언어로 구현한 gets()를 이용한 공백 단위로 끊어 출력하기 소스입니다. #include int main(void) { char input[100]; int i; gets(input); for (i = 0; input[i] != '\0'; i++) { // 해당 글자가 뛰어쓰기이면 // 줄바꿈으로 전환 if(input[i] == ' '){ input[i] = '..
- Total
- Today
- Yesterday
- W3Schools Online Web Tutorials
- 구차니의 잡동사니 모음
- [IT]블로거팁닷컴
- 비앤아이님의 블로그
- Blog Suspect
- 즐거운하루 blog
- zinicap의 검색엔진 마케팅(SEM)
- 머니야머니야님의 블로그
- [Friend] AtinStory
- [기타배우기]해브원 박스
- [웹표준] SINDB.com
- 해커 C 이야기
- [애드센스] 길라잡이
- 정순봉의 IT SCHOOL
- 씨디맨의 컴퓨터이야기
- 2proo Life Story
- 못된준코의 세상리뷰
- [IT강좌] 정보문화사
- IN 대전
- 에우르트는 나쁜남자 -_-
- 씬의 싱크탱크
- 엔돌슨의 IT이야기
- 진이늘이
- 'Cooltime'의 블로그
- 후이의 Tistory
- Soulstorage
- 앤드&엔드의 블로그
- June Blog
- 노지의 소박한 이야기
- gbWorld
- 인터넷 속 나의 생각
- HarshNix
- ART of WEB
- 녹두장군 - 상상을 현실로
- 프로그래밍
- C언어
- C언어 문제
- MBTI 강좌
- 강의
- MBTI 검사
- 프로그래밍 문제
- 소스코드
- JavaScript
- 예제 소스
- 인터넷 익스플로러
- HTML
- 효과음
- 안드로이드
- 안드로이드 어플 추천
- C
- 안드로이드 어플
- 소스
- MBTI 자료
- 성공
- php
- MBTI 테스트
- 강좌
- 모토로이
- 리뷰
- C언어 소스
- It
- 스마트폰
- 인터넷
- MBTI
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |