: 2022/09/13
포인터 변수를 이용하여 두 수를 바꾸는 프로그램
포인터 변수를 이용하여 세 수를 바꾸는 프로그램
크기가 3인 double형 배열의 모든 원소의 주소를 출력하는 프로그램
- 배열 원소를 가리키는 포인터를 이용하여 정수형 배열의 모든 원소를 츨력하고, 배열 원소의 합을 구하여 출력하는 프로그램을 완성하시오.
👉참고
- 다른 변수는 추가하지 않는다.
- printData() 함수 완성하기
- totalData() 함수 완성하기
👉실행 예시
배열 원소 출력: 1 2 3 4 5 6 7 8 9 10
배열 원소의 합 = 10
👉힌트
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
void printData();
int totalData();
int main(void)
{
int data[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
printf("배열 원소 출력: ");
printData(data);
printf("배열 원소의 합 = %d\n", totalData(data));
}
// printData 함수는 data[0]..data[9]의 값을 출력한다.
void printData(int* pi)
{
// 여기 코드를 완성하시오.
}
// totalData 함수는 data[0]에서 data[9]까지의 값을 모두 더해 그 결과를 반환한다.
int totalData(int* pi)
{
int sum = 0;
//여기 코드를 완성하시오
}
- 직사각형의 넓이와 둘레를 구하는 함수를 작성하시오. 이 함수를 이용하여 직사각형의 가로, 세로의 길이를 입력받아 넓이와 둘레를 구하여 출력하는 프로그램을 작성하시오.
👉참고
- 함수 원형: get_rect_info(w, h, &area, &circumference);
👉실행 예시
가로 길이? 10
세로 길이? 20
넓이: 200, 둘레: 60
- 배열 원소를 가리키는 포인터를 이용하여 정수형 배열의 원소에 입력받은 정수를 더한 다음 출력하는 프로그램을 작성하시오. (배열의 크기는 10)
👉참고
- 출력 함수 원형: void print_array(int* p, int size);
- 덧셈 함수 원형: void add_array(int* p, int size, int n);
👉실행 예시
원본 데이터: 10 20 30 40 50 60 70 80 90 100
더할 숫자 입력: 5
결과: 15 25 35 45 55 65 75 85 95 105
- 정수형 배열에 대하여 배열의 원소 중 최대값과 최소값을 구하는 get_min_max 함수를 정의하시오. 이 함수를 이용하여 배열의 최대값과 최소값을 출력한 프로그램을 작성하시오. (배열의 크기는 10)
👉참고
- 출력 함수 원형: void print_array(int* p, int size);
- 최대 최소 함수 원형: void get_min_max(const int* arr, int size, int* min, int* max);
👉실행 예시
배열: 55 12 45 98 23 35 28 67 52 40
최대값: 98
최소값: 12
- 크기가 같은 2개의 정수형 배열을 매개변수로 전달받아 두 배열의 원소들의 값을 맞바꾸는 함수를 작성하시오. 이 함수를 이용해서 크기가 5인 두 배열의 값을 맞바꾸는 프로그램을 작성하시오.
👉참고
- 출력 함수 원형: void print_array(int* p, int size);
- 교환 함수 원형: void swap_array(int* x, int* y, int size);
👉실행 예시
a 배열: 1 2 3 4 5
b 배열: 6 7 8 9 10
<< swap_array 호출 후 >>
a 배열: 6 7 8 9 10
b 배열: 1 2 3 4 5
- 정수형 배열과 키 값을 매개변수로 전달받아 키 값과 같은 원소를 모두 찾은 다음, 찾은 원소의 인덱스를 배열에 저장해서 리턴하는 함수를 작성하시오.
👉참고
- 이 함수는 찾는 원소의 개수를 리턴한다.
예를 들어 배열에서 키 값을 2개 찾았으면 2를 리턴하고 찾은 원소의 인덱스는 배열에 저장한다.
키 값을 찾을 수 없으면 0을 리턴한다.
- 출력 함수 원형: void print_array(const int arr[], int size);
- 찾기 함수 원형: int find_array(const int arr[], int size, int key, int found[]);
👉실행 예시
11 22 33 88 22 22 33 44 55 77
찾을 값? 22
찾은 항목은 모두 3개입니다.
찾은 항목의 인덱스: 1 4 5