목록Language (67)
이것저것
문제 수열 a[], 수열의 크기 n, 두 개의 포인터 변수 *max, *min을 파라미터로 하는 함수 max_min을 만든다. 함수가 실행되면 수열 a[0]부터 a[n-1]까지 중에서 가장 큰 값이 *max에, 가장 작은 값이 *min에 저장된다 [입출력 예시] (34 82 49 102 7 94 23 11 50 31 가 키보드로 입력 받는 값) Enter 10 numbers: 34 82 49 102 7 94 23 11 50 31 Largest: 102 Smallest: 7 #include void max_min(int a[], int n, int* max, int* min); int main(void) { int num[100]; int i = 0, j, k; // j는 max 값을 받음...
문제 2차원평면에서 점은 (x,y)좌표로 나타낼 수 있다. 따라서 하나의 점은 다음과 같은 point 라는 구조체로 정의할 수 있다. 이 point 구조체를 받아서 다음과 같은 기능을 하는 함수를 작성하고 테스트하라. (a) 두 점의 좌표가 일치하면 1을 반환하고 그렇지 않으면 0을 반환하는 함수 int equal(struct point p1, struct point p2) #include struct point{ int x; int y; }; int equal(struct point p1, struct point p2){ if((p1.x == p2.x) && (p1.y == p2.y)){ return 1; } else{ return 0; } } int main(void){ struct point p..
문제 : 문자열을 입력 받아 문자열에 포함된 모든 공백 문자를 삭제하는 함수를 작성하라. #include void check(char* arr); int main(void) { char str[100]; gets(str); // 문자열 입력받기 check(str); return 0; } void check(char* str) { int i; for (i = 0; str[i] != '\0'; i++) { if (str[i] != ' ') { printf("%c", str[i]); } } }

문제 : 아래의 출력 예시와 같이 original matrix 이차원 배열을 입력받고 예시와 같이 열과 행이 바뀐 transpose matrix가 출력되도록 하는 코드를 작성하시오. #include int main(void) { int arr[3][3]; int i,j; printf("original matrix\n"); for(i=0;i
문제 : 완전수는 자기 자신의 약수들의 합이 자기 자신이 되는 수이다. 예를 들어 6 = 1 +2+3이다. 반복문과 함수를 사용해 완전수 1~1000까지 완전수가 되는 수들을 출력하라. #include int perfect_num(); int main(void) { perfect_num(); return 0; } int perfect_num() { int i,j; for(i = 1; i < 1001; i++) { int sum = 0; for(j=1;j
문제 : 길이가 5인 int형 배열을 1,2,3,4,5로 선언 및 초기화 후 포인터 변수 ptr에 저장된 값을 증가시키는 형태의 연산을 기반으로 배열요소에 접근하면서 모든 배열의 요소 값을 2씩 증가 후 출력하기 #include int main(void) { int arr[5] = {1,2,3,4,5}; int i; int *ptr; for(i = 0 ; i < 5; i++) { ptr = &arr[i]; int result; result = *ptr + 2; printf("%d 번째 배열의 값 : %d\n",i,result ); } return 0; }
문제 : swap 함수를 통해 a,b,c에 값을 입력받고 포인터를 사용해 a의 값은 b에, b의 값은 c에, c의 값은 a에 들어가도록하고 출력하기 #include void swap(int *x, int *y, int *z) //정수형 포인터 x,y,z 선언 { int temp; temp = *x; // a의 값이 temp에 저장 *x = *z; // c의 값이 a에 저장 *z = *y; // b의 값이 c에 저장 *y = temp; // a의 값이 b에 저장 } int main(void) { int a,b,c; scanf("%d %d %d",&a,&b,&c); swap(&a,&b,&c); /*포인터 x는 a의 주솟값이, 포인터 y는 b의 주솟값이, 포인터 z는 c의 주솟값을 가리킴*/ printf("a..
https://www.acmicpc.net/problem/2908 2908번: 상수 상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두 www.acmicpc.net [문제] 상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두 개를 칠판에 써주었다. 그 다음에 크기가 큰 수를 말해보라고 했다. 상수는 수를 다른 사람과 다르게 거꾸로 읽는다. 예를 들어, 734와 893을 칠판에 적었다면, 상수는 이 수를 437과 398로 읽는다. 따라서,..