일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 |
- java
- C언어 배열
- C언어 파일입출력
- 포인터
- C언어 변수
- gcc
- placehoder
- Spring google
- 오라클
- Google reCaptcha
- C언어 매크로
- C언어
- SQL
- HTML5
- GUI
- Naver SmartEditor
- 자바
- 텍스트 파일 읽기
- C언어 함수
- 구글 reCaptcha
- C언어 구조체
- Spring email
- jsp
- 역순
- URL 다운로드
- Vim
- C언어 메모리
- 날짜
- Oracle
- TCP/IP 소켓
- Today
- Total
easy software
C언어 포인터와 배열이용 홀수/짝수 출력예제 본문
안녕하세요. 이번 시간에는 지금까지 학습했던 포인터와 배열을 이용하여
짝수와 홀수를 구분하여 출력해주는 예제를 해보도록 하겠습니다.
문제의 조건은 아래와 같습니다.
1. 길이가 10인 배열을 선언하고, main에서 정수를 입력받는다.
2. 배열에 값을 저장하고 홀수/짝수를 구분해주는 함수를 작성한다.
3. 함수에 배열을 인자로 전달하여 홀수와 짝수를 구분하여 출력한다.
문제의 조건은 상당히 간단합니다.
그리고 배열과 포인터의 개념이 같다는 정도만 잘 이해하고 있어도 무난하게 풀 수 있는 문제입니다.
코드는 아래를 보시죠.
#include <stdio.h>
//배열을 인자로 받아 홀수를 출력해주는 프로그램
void oNum(int* ptr){
printf("홀수 출력: ");
//홀수를 찾기 위해 반복문 수행
for (int i = 0; i < 10; i++)
if (ptr[i] % 2 != 0) //배열값을 나눴을때 나머지가 0이 아니면 홀수
printf("%d ", ptr[i]);
}
void eNum(int* ptr){
printf("짝수 출력: ");
//짝수를 찾기 위해 반복문 수행
for (int i = 0; i < 10; i++)
if (ptr[i] % 2 == 0) //배열값을 나눴을때 나머지가 0이면 짝수
printf("%d ", ptr[i]);
}
int main(void){
int arr[10];
int input;
printf("총 10개의 숫자 입력 \n");
//10개의 숫자를 입력받기 위해 반복문을 수행
for (int i = 0; i < 10; i++){
printf("?: ");
scanf_s("%d", &input);
arr[i] = input;
}
oNum(arr); //배열을 oNum에 인자로 전달
printf("\n");
eNum(arr); //배열을 eNum에 인자로 전달
printf("\n");
return 0;
}
배열을 인자로 전달하면, 포인터 변수로 그 값을 가리키게 됩니다.
그리고 포인터로 배열인자에 접근하여 값을 확인하고 출력까지 하면 됩니다.
'C언어 > 포인터와 배열' 카테고리의 다른 글
C언어 배열을 이용한 예제(홀수면 앞부터, 짝수면 뒤부터 저장) (0) | 2015.01.23 |
---|---|
C언어 배열을 이용하여 10진수를 2진수로 변환하기 (0) | 2015.01.23 |
C언어 포인터와 const키워드 예제 (0) | 2015.01.19 |
C언어 포인터와 const(상수) (0) | 2015.01.19 |
C언어 Call-By-Reference 예제(변수자리 바꾸기) (0) | 2015.01.19 |