[C언어 코드업 문제풀이] CodeUp 1581 : (함수 작성+포인터) swap 함수 만들기 (Call by Reference)

코드업 1581번 swap 함수 만들기 문제 풀이 해답입니다.

 

1. 문제 설명

 

이 문제는 두 변수의 값을 바꾸는 함수를 구현하는 문제입니다.

다음 조건을 참고해서 함수 본체만 작성해서 제출하시기 바랍니다.

함수명 : myswapmyswap

매개 변수(parameter) : 정수형 포인터 변수 변수 22개(매개변수를 반드시 intint∗로 사용)

반환 형(return type) : 없음(voidvoid)

함수 내용 : 첫 번째 포인터가 가리키는 변수의 값이 두 번째 포인터가 가리키는 변수의 값보다 클 경우 두 값을 서로 바꾼다.

 

1
2
3
4
5
6
7
8
9
#include <stdio.h>
// 이 부분에 들어가야 될 코드를 작성하여 제출
main()
{
    int a, b;
    scanf("%d%d"&a, &b);
    myswap(&a, &b);
    printf("%d %d", a, b);
}

2. 입력

 

22개의 정수 aa, bb가 공백으로 분리되어 입력된다.(1,000,000<=a,b<=1,000,000−1,000,000<=a,b<=1,000,000)

 

3. 출력

 

두 수 중 작은 수가 먼저 출력되고, 큰 수가 다음에 출력된다.(이 부분은 신경쓰지 않아도 됩니다.)

위 조건을 참고해서 함수의 본체만 작성해서 제출합니다.

 

4. 입력 예시

 

10 5

 

5. 출력 예시

 

5 10

 

6. 문제 풀이

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
 
void myswap(int * a, int * b){
    int temp = *a;
    if(*a> *b){
        *= *b;
        *= temp;
    }
    
}
main()
{
    int a, b;
    scanf("%d%d"&a, &b);
    myswap(&a, &b);
    printf("%d %d", a, b);
}
 

댓글()