반응형

C_C++ 326

(C언어) 원의 넓이와 둘레를 구하는 함수

#원 #넓이 #둘레 원의 둘레(circumference) c = 2πr c: 원 둘레의 길이 r: 반지름 원의 넓이(area of a circle) a = πr² a: 원의 넓이 r: 반지름 반지름이 r일 때, 원의 둘레와 넓이를 출력하는 C언어 코드는 다음과 같습니다. #include #define PI3.14159 double circumference(int r) { return 2 * PI * r; } double area(int r) { return r * r * PI; } int main() { int r = 10; printf("반지름: %d\n", r); printf("원의 둘레: %f\n", circumference(r)); printf("원의 넓이: %f\n", area(r)); } (O..

C_C++ 2022.10.26

(C언어) rand: 난수를 생성한다

#include int rand(void); rand() 함수 0부터 RAND_MAX(32767) 범위의 임의의 난수를 생성합니다. 이 함수는 정수를 생성합니다. 실수를 생성하는 방법은 아래쪽에 설명되어 있습니다. rand() 함수를 사용하기 위해서는 다음 헤더를 포함해야 합니다. #include #include #include int main() { int i; for (i = 0; i < 10; i++) printf("%d\n", rand()); } (Output) 41 18467 6334 26500 19169 15724 11478 29358 26962 24464 rand() 함수는 seed인 난수표에서 값을 가져오기 때문에 위 코드를 여러번 실행해도 언제나 같은 결과가 출력되는 것을 알 수 있습니다..

(C언어) 배열, 포인터를 이용해서 삼각형 모양의 문자열 출력

#include #include int main() { char s[] = "Hello,C"; int i, len; len = strlen(s); // s의 문자열 길이 for (i = len-1; i >=0; i--) printf("%s\n", s + i); // s 배열명은 이 배열의 시작 주소 } #문자열 #배열 #삼각형 C언어에서 배열명은 배열의 시작 주소를 나타냅니다. printf 함수에서 문자열을 출력할 때, %s 형식은 가리키는 주소부터 '\0'을 만날때까지의 문자열을 출력하게 됩니다. char s[] = "ABC"; printf("%s\n", s); // "ABC" 출력 printf("%s\n", s+1); // "BC" 출력. s+1은 배열의 두 번째 위치의 주소입니다. #include ..

C_C++ 2022.10.25

(C언어) 2차원배열 가로합 세로합 전체합 구하기

#2차원 #배열 #가로합 #세로합 #전체합 [문제] 아래와 같은 모양의 2차원 배열에 값을 초기화하고, 가로의 합, 세로의 합, 전체 합을 구하여 출력하시오. 이 문제를 풀기 위해서는 아래와 같이 행과 열을 한 개씩 더 선언하고, 값을 0으로 초기화합니다. 그리고 배열 전체를 순회하면서 화살표 모양으로 값을 더해주면 됩니다. 완성된 C언어 코드는 다음과 같습니다. #include int main() { int i, j; int arr[4][4] = { {11, 22, 33, 0}, {44, 5, 66, 0}, { 7, 88,999, 0}, { 0, 0, 0, 0 } }; // 합 구하기 for (i = 0; i < 3; i++)// 행 개수 for (j = 0; j < 3; j++)// 열 개수 { ar..

C_C++ 2022.10.25

(C언어) 평균, 표준편차, 분산 구하기

#평균 #표준편차 #분산 #계산하기 표준편차(standard deviation) 자료가 평균으로 부터 얼마나 떨어져 있는 지를 나타내는 값이다. 표준편차는 분산의 제곱근이다. 분산(variance) 변수의 흩어진 정도를 나타내는 값이다. [위 공식 그림 참고] https://terms.naver.com/entry.naver?docId=727543&cid=42140&categoryId=42140 #define _CRT_SECURE_NO_WARNINGS // Visual Studio #include #include #include #include #define N5// 데이터 개수 double average(int arr[], int size) { int i; double sum = 0; for (i = 0..

C_C++ 2022.10.24

(C언어) 학점 구하기

#학점구하기 0~100 사이의 점수를 입력받아서 90점 이상이면 "A", 80 이상이면 "B", 70이상이면 "C", 60 이상이면 "D", 60 미만이면 "F"를 출력하는 프로그램입니다. if문을 사용해서 코딩했습니다. #define _CRT_SECURE_NO_WARNINGS #include int main() { int score; char c; while (1) { printf("점수(0~100): "); scanf("%d", &score); if (score = 90) c = 'A'; else if (score >= 80) c = 'B'; else if (score >= 70) c = 'C'; else if (score >= 60) c = 'D'; else..

C_C++ 2022.10.23

(C언어) 10진수를 16진수로 변환: 배열 이용

#16진수 #10진수 #변환 #바꾸기 이전에 포스팅했던 10진수를 2진수로 변환하는 방법과 같은 방법이며, 그 때 사용했던 코드를 수정해서 16진수로 변환하도록 하였습니다. (10진수를 2진수로 변환하는 방법은 아래쪽에 링크 남겼습니다.) 16진수는 나머지가 10,11,12,13,14,15 가 나올 수 있으면 이름 'A', 'B', 'C', 'D', 'E', 'F'로 표현해야 하기 때문에 다음과 같은 코드를 활용해야 합니다. char chex[16] = "0123456789ABCDEF"; 작성한 C언어 코드는 다음과 같습니다. #define _CRT_SECURE_NO_WARNINGS // Visual Studio #include int main() { char chex[16] = "0123456789AB..

C_C++ 2022.10.23

(C언어) 10진수를 2진수로 변환: 배열 이용

#10진수 #2진수 #십진수 #이진수 #변환 #바꾸기 #배열 10진수를 2진수로 변환하는 프로그램입니다. 바뀐 2진수를 배열에 저장해서 출력하는 방법입니다. (방법) a=13; // a는 13이라 가정 (1) a를 2로 나눈 나머지를 배열에 저장 →→ 13%2 →→ 1 (2) a를 2로 나는 몫으로 변경 →→ 13/2 →→ a=6 위의 (1)과 (2)의 과정을 a가 0보다 큰면 계속 반복 a를 2로 나눈 나머지 →→ 6%2 →→ 0 a를 2로 나눈 몫으로 변경, 6/2 →→ a=3 3 % 2 →→ 1 3 / 2 →→ a=1 1 % 2 →→ 1 1 / 2 →→ a=0, 몫이 0이므로 반복을 종료함 위에서 빨갛게 표현된 숫자가 배열의 뒤에서 부터 저장되어 있으므로, 앞에서 부터 출력하면 됨 1 1 0 1 C..

C_C++ 2022.10.23

10진수를 2진수로 표현하는 방법

#10진수 #십진수 #이진수 #2진수 #진법 #변환 10진수를 2진수로 표현하는 방법을 설명합니다. 먼저, 어떤 수의 0승은 1입니다. 2의 0은 1, 3의 0승도 1, 4의 0승도 1, .... 아래의 2의 지수승에 대해서 좀 익숙해야 합니다. 위 그림을 이용해서 10진수를 2진수로 변환해 보겠습니다. 4 → 100 (2) 5 → 101 (2) 7 → 111 (2) 잘 살펴보면 8은 1000 (2), 이보다 1 작은 7은 111임을 알 수 있습니다. 그럼 255를 2진수로 표현하면, 256보다 1 작은 수이므로 아래와 같이 표현할 수 있습니다. 여러 가지 수를 표현해 보겠습니다.

C_C++ 2022.10.22
반응형