반응형

분류 전체보기 685

(C언어) 1차원 배열과 포인터

1차원 배열과 포인터에 대해 설명합니다. 배열은 메모리상에 연속적으로 공간을 확보하고 있어서, 포인터를 이용해서 배열의 원소를 다루기 쉽습니다. 포인터를 배열처럼 다룰 수 있으며, 배열을 포인터처럼 다룰 수도 있습니다. 다음과 같은 1차원배열의 선언을 살펴보겠습니다. int a[5] = { 1, 2, 3, 4, 5}; [암기] 배열명은 해당 배열의 시작주소를 나타냅니다. 이 배열의 시작주소는 다음과 같이 표현할 수 있습니다. a &a[0] &a 주의할 점은 a와 &a의 시작 주소는 같지만, 그 의미는 서로 다릅니다. &a는 배열 전체의 시작주소라 말할 수 있습니다. 그래서 &a+1의 주소는 배열 전체의 크기 다음 위치를 나타냅니다. a+1과 &a+1의 주소가 다름에 주의하여야 합니다. 배열명은 배열의 시..

C_C++ 2022.11.06

(C언어) 문자열 복사 mystrcpy 함수 만들기

#문자열 #복사 #strcpy #mystrcpy #my_strcpy C언어의 strcpy() 함수는 문자열을 복사하는 함수입니다. 이와 비슷한 기능을 하는 함수를 만들어 보겠습니다. #include int mystrcpy(char s[], char s2[]) { int i, j; for (i = 0; s2[i] != '\0'; i++) s[i] = s2[i]; s[i] = '\0'; return i; // s의 문자열 길이를 반환 } int main(void) { char s[20] = "Hello"; char a[] = "Hello"; int len = mystrcpy(s, a); //a을 s에 복사 printf("%s\n", s); printf("%d\n", len); return 0; }

C_C++ 2022.11.06

(C언어) 문자열 결합 mystrcat 사용자 정의 함수 만들기

#문자열 #결합 #strcat #mystrcat #my_strcat C언어의 strcat은 문자열을 결합(연결)하는 함수입니다. 이 함수와 비슷한 기능을 하는 mystrcat 함수를 만들어 봤습니다. strcat #include char *strcat(char *strDestination, char *strSource); // 문자열 strSource을 strDestination 뒤에 연결 #include int mystrcat(char s[], char s2[]) { int i, j; for (i = 0; s[i] != '\0'; i++); for (j = 0; s2[j] != '\0'; j++) s[i + j] = s2[j]; s[i + j] = '\0'; // 문자열 마지막에 '\0'를 추가함 re..

C_C++ 2022.11.06

(C언어) 문자열 길이 mystrlen 함수 만들기

#문자열 #길이 #strlen #mystrlen #my_strlen #문자열길이 #함수 C언어에서 문자열 길이는 strlen 함수로 알 수 있습니다. #include int n = strlen("abcde"); // 5 이와 똑 같이 문자열의 길이를 알아내는 mystrlen() 이란 사용자 정의 함수를 만들어 보겠습니다. #include int mystrlen(char s[]) { int i; for (i = 0; s[i] != '\0'; i++); // 맨위에 세미콜론(;)문자에 주의 return i; } int main(void) { char a[] = "Hello"; char b[] = "abc"; printf("%d\n", mystrlen(a)); printf("%d\n", mystrlen(b))..

C_C++ 2022.11.06

(기초 알고리즘) 학점 구하기

학점을 구하는 함수를 if문, switch 문으로 작성하시오. 90 ~ 100: A 학점 80 ~ 89: B 학점 70 ~ 70: C 학점 60 ~ 69: D 학점 0 ~ 59: F 학점 C언어: if 문 #define _CRT_SECURE_NO_WARNINGS // Visual Studio #include char grade(int a) { int h; if (a >= 90) h = 'A'; else if (a >= 80) h = 'B'; else if (a >= 70) h = 'C'; else if (a >= 60) h = 'D'; else h = 'F'; return h; } int main() { int a; while (1) { scanf("%d", &a); if (a < 0) break; //..

(기초 알고리즘) 사다리꼴의 넓이 구하기

#사다리꼴 #면적 #넓이 #C언어 사다리꼴 한 쌍의 대변이 평행한 사각형 사다리꼴의 넓이 = (윗변 + 아랫변) x 높이 / 2 C언어 코드 #include int main() { int w1, w2, h; double area; printf("윗변 아랫변 높이를 입력 입력하세요: "); scanf("%d %d %d", &w1, &w2, &h); area = (double)(w1 + w2) * h / 2; printf("사다리꼴 넓이: %f\n", area); return 0; }

(C언어) 초 단위 시간을 시간 분 초로 변경하기

10000초를 (또는 입력 받은 정수)를 몇 시간 몇 분 몇 초인지 나타내시오. 1시간은 3600초입니다 - 1분 60초 x 60분)입니다. 전체 초를 3600으로 나눈 몫이 시간이 됩니다. 3600으로 나눈 나머지를 다시 60으로 나눈 몫이 분이되고, 그 나머지가 초가됩니다. C언어 코드 #include int main() { int ts, h, m, s; printf("초를 입력하세요: "); scanf("%d", &ts); h = ts / 3600; // 1시간은 3600초 int ts2 = ts % 3600;// 3600으로 나눈 나머지를 ts로 설정 m = ts2 / 60;// 60으로 나눈 몫 s = ts2 % 60;// 60으로 나눈 나머지 printf("%d초는 %d시간 %d분 %d초입니다..

반응형