키보드로 입력받은 문장을 확인 후 대문자를 소문자로 변경해서 출력하고 변경된 개수도 함께 출력#include #include int main(void){ char str[80]; int count = 0; // 바뀐 문자 수를 넣기 위한 변수 int i; // 배열에서 인덱스로 사용할 변수 printf("Enter sentence : \n"); fgets(str, sizeof(str), stdin); // fgets(배열명, 배열의 크기, 어디서 데이터를 읽어올지 - stdin(키보드 입력)) for (i = 0;..
삼각형 완성조건(1)/** 선분 세 개로 삼각형을 만들기 위해서는 다음과 같은 조건을 만족해야 합니다.* 가장 긴 변의 길이는 다른 두 변의 길이의 합보다 작아야 합니다.* 삼각형의 세 변의 길이가 담긴 배열 sides이 매개변수로 주어집니다.* 세 변으로 삼각형을 만들 수 있다면 1, 만들 수 없다면 2를 return하도록 solution 함수를 완성해주세요.*/#include #include #include // sides_len은 배열 sides의 길이입니다.int solution(int sides[], size_t sides_len) { int answer = 0; // 결과를 저장할 변수 int max = sides[0]; ..
짝수의 덧셈/** 정수 n이 주어질 때, n이하의 짝수를 모두 더한 값을 return 하도록 solution 함수를 작성해주세요.*/#include // 표준 입출력 라이브러리 포함#include // 불리언 타입 사용을 위한 헤더 포함#include // 표준 라이브러리 포함 (필요한 경우 동적 메모리 할당 등을 위해)int solution(int n) { int answer = 0; // 짝수들의 합을 저장할 변수 초기화 int num2[n]; // 크기가 n인 정수형 배열 선언 (최대 n개의 짝수를 저..
각도기/** 각에서 0도 초과 90도 미만은 예각, 90도는 직각, * 90도 초과 180도 미만은 둔각 * 180도는 평각으로 분류합니다. * 각 angle이 매개변수로 주어질 때 * 예각일 때 1, 직각일 때 2, 둔각일 때 3, 평각일 때 4를 * return하도록 solution 함수를 완성해주세요.*/#include #include #include int solution(int angle) { int answer = 0; if (angle 각도를 입력받고 출력#include #include #include int solution(int angle);int main(void){ int angle = 0; while (1){ printf("enter the angl..
배열의 평균값을 구하는 함수/** 배열의 평균값을 구하는 함수 만들기*/#include #include #include // numbers_len은 배열 numbers의 길이입니다.double solution(int numbers[], size_t numbers_len) { double sum = 0; for (size_t i = 0; i
포인터의 사용 이유포인터를 사용하려면 추가적인 변수 선언이 필요하고 주소, 간접 참조 연산 등 각종 연산을 수행해야 함. but 임베디드 프로그래밍을 할 때 메모리에 직접 접근하는 경우나 동적 할당한 메모리를 사용하는 경우 필요더보기임베디드 프로그래밍은 임베디드 시스템(내장형 시스템)을 제어하기 위한 프로그램으로, 오늘날 만들어지는 거의 모든 생활 기기에서 만들어지는 특정 기능을 제어하기 위해 구현됩니다. ex) 정수기에서 정수, 냉수 등을 구분해 물이 나오게 프로그래밍/** 포인터를 사용한 두 변수의 값 교환*/#include void swap(int *pa, int *pd); // 두 변수의 값을 바꾸는 함수의 선언int main(void){ int a = 10, b = 20..
포인터의 대입 규칙 1. 가리키는 변수의 형태가 같을 때만 대입 -> 가리키는 자료형이 일치하지 않는 포인터의 대입을 시도하면 경고 메시지 발생/** 허용되지 않는 포인터의 대입*/#include int main(void){ int a = 10; // 변수 선언과 초기화 int *p = &a; // 포인터 선언과 동시에 a를 가리키도록 초기화 double *pd; // double형 변수를 가리키는 포인터 pd = p; // 포인터 p 값을 포인터 pd에 대입 printf("%lf\n", *pd); // pd가 가리키는 변수의 값 출력 return 0;} p와 pd는 둘 ..
주소와 포인터의 크기포인터도 저장 공간이므로 크기가 있음. 포인터의 크기는 저장할 주소의 크기에 따라 결정되는데 크기가 클 수록 더 넓은 범위의 메모리를 사용할 수 있음.모든 주소와 포인터는 가리키는 자료형과 상관없이 그 크기가 같음. (안에있는 변수는 자료형에 따라 크기가 다를 수 있음.)/** 주소와 포인터의 크기*/#include int main(void){ char ch; int in; double db; char *pc = &ch; int *pi = ∈ double *pd = &db; printf("char형 변수의 주소 크기 : %d\n", sizeof(&ch)); printf("int형 변수의 주소 크기 : %d\n", sizeof(&in));..