본문 바로가기

c언어 콘서트23

[c언어 콘서트] 10장 1번 (암호 생성) [10장 1번] 사용자로부터 암호를 입력받는다. 사용자의 암호가 해킹에 대한 안전도가 강력한지를 검사한다. 만약 암호 안에 대문자, 소문자, 숫자가 모두 들어있으면 강력한 암호로 간주한다. 만약 사용자의 암호가 3가지 종류의 문자를 다 가지고 있지 않으면 프로그램은 보안을 위하여 더 강력한 암호를 고려하라고 제안한다. [풀이]#include int check(char *str, char *str_check); void set(char *str_check); int main() { char str[100]; char str_check[3] = { 0, }; do{ set(str_check); printf("암호를 생성하시오 : "); scanf("%s", str); } while (check(str, st.. 2018. 10. 11.
[c언어 콘서트] 9장 2번 (역순 출력) [9장 2번] 포인터를 이용하여서 크기가 5인 1차원 정수 배열에 저장된 값을 역순으로 출력해보자. [풀이]#include void reverse(int *, int); int main() { int arr[5]; int i; printf("5개의 정수를 입력하시오 : "); for (i = 0; i = 0; i--) { printf("%d ", A[i]); } printf("\n"); } 2018. 9. 30.
[c언어 콘서트] 9장 1번 (배열 요소들의 합) [9장 1번] 1차원 배열을 받아서 배열 요소들의 합을 계산하는 함수 int get_array_sum(int *A, int size)을 구현하고 int data[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };을 가지고 테스트 하라. [풀이]#include void print_array(int *, int); int get_array_sum(int *, int); int main() { int data[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9 }; int sum; int *a = data; sum = get_array_sum(a, 10); printf("print_array()\n"); print_array(a, 10); printf("배열 요소의 합 = %d\n", .. 2018. 9. 14.
[c언어 콘서트] 8장 13번 (n의 3승 더하기) [8장 13번] 다음을 계산하는 재귀적인 프로그램을 작성하시오.1³+2³+3³+...+n³ [풀이]#include int sum(int); int main() { int num, result; printf("정수를 입력하시오 : "); scanf("%d", &num); result = sum(num); printf("%d\n", result); return 0; } int sum(int num) { if (num == 1) { return 1; } else { return (num*num*num) + sum(num - 1); } } 2018. 9. 12.
[c언어 콘서트] 8장 12번 (자리수 출력) [8장 12번] 재귀 호출을 이용하여 정수의 각 자리수를 출력하는 함수 show_digit(int x)를 작성하고 테스트하라. 즉 정수가 1234이면 화면에 1 2 3 4와 같이 출력한다. 함수는 일의 자리를 출력하고 나머지 부분을 대상으로 다시 같은 함수를 재귀 호출한다. 예를 들어서 1234의 4를 출력하고 나머지 123을 가지고 다시 같은 함수를 재귀 호출한다. 1234를 10으로 나누면 123이 되고 4는 1234를 10으로 나눈 나머지이다. [풀이]#include void show_digit(int x); int main() { int num; printf("정수를 입력하시오 : "); scanf("%d", &num); show_digit(num); printf("\n"); return 0; }.. 2018. 9. 12.
[c언어 콘서트] 8장 10번 (계산기) [8장 10번] 덧셈, 뺄셈, 곱셈, 나눗셈을 지원하는 계산기 프로그램을 작성하여 보자. 이번에는 각 연산들이 몇 번씩 계산되었는지를 기억하게 하자. 각 연산을 지원하는 함수들은 자신이 호출된 횟수를 화면에 출력한다. a) 정적 지역 변수를 사용하여 프로그램을 작성하라.b) 전역 변수를 사용하여 프로그램을 작성하라. [풀이]#include void sum(int, int); void sub(int, int); void mul(int, int); void div(int, int); int main() { int num1, num2; char cal; while (1) { printf("연산을 입력하시오(종료는 Ctrl+C) : "); scanf("%d%c%d", &num1, &cal, &num2); if .. 2018. 9. 12.
[c언어 콘서트] 8장 5번 (소수 검사) [8장 5번] 주어진 정수가 소수(prime number)인지를 검사하는 함수 prime()을 작성하라. 이 함수를 이용하여 1부터 100 사이에 존재하는 소수들을 모두 출력하라. 하나의 힘트는 소수라면 1과 자기 자신을 제외한 약수를 가지면 안 된다. 따라서 만약 정수 n이 소수인지를 검사하려면 2부터 n-1까지의 숫자로 n을 나누어서 나누어 떨어지지 않으면 소수이다. [풀이]#include void prime(int, int); int main() { prime(1, 100); return 0; } void prime(int a, int n) { int i, j; int count = 0; for (i = a; i 2018. 9. 12.
[책리뷰] 누구나 쉽게 즐기는 C언어 콘서트 [책리뷰] 누구나 쉽게 즐기는 c언어 콘서트 (c언어 콘서트) - 가격은 2018년 6월 4일 기준 - 그림을 많이 사용하여서 지루하지 않으며 쉽게 이해가 된다. - 개념과 원리에 대해 자세히 설명되어 있어 그림과 함께 자세한 설명이 합쳐지니 다른 책을 볼때 보다 더 쉽게 이해 했던 것 같다. - 문제가 상당히 다양하며 괜찮은 문제들이 있었다. 또한 LAB 섹션같은 경우는 조금더 생각을 한다면 어려운 문제가 될 수도 있다. - 문제가 괜찮지만 해설이 없어 정답을 확인을 할 수가 없다.. - windows.h 같은 다른 책에서는 구경도 못했던 헤더파일을 추가하여 도형을 그리기도 한다. - 컬러를 사용하여서 전공책을 읽는 느낌이 들지 않았다. - 책에 수정해야 될 부분이 있다.. 2018. 6. 4.