반응형
Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
Tags
- 비동기 FIFO 구조
- 자료구조
- Keynote 표
- i2c
- LEC
- malloc
- cadence conformal eco
- keynote 도형 복사
- SPI mode
- LinkedList
- C언어
- keynote 사용법
- Cortex-M3
- ISR
- lec check
- keynote 도형 회전
- booth multiplier 설계
- Async FIFO
- Sync FIFO
- c
- booth multiplier
- booth algorithm
- keynote
- 연산 가속기 설계
- BSS
- 곱셈기 설계
- FIFO 설계
- asynchronous fifo
- ARM
- ACK Polling
Archives
- Today
- Total
JINTBEAT Design Life
C언어 - 문제 풀이(배열과 포인터) 본문
반응형

🖌️ 길이가 10인 배열을 선언하고 총 10개의 정수를 입력받는다.
🖌️ 단, 입력 받은 숫자가 홀수이면 배열의 앞에서부터 채워나가고, 짝수이면 뒤에서부터 채워나가는 형식을 취하기로 하자.
🖌️ 따라서 사용자가 [1,2,3,4,5,6,7,8,9,10]을 입력했다면, 배열에는 [1,3,5,7,9,10,8,6,4,2]의 순으로 저장이 되어야 한다.
🖌️ 배열의 요소를 출력하는 함수도 설계
void PrintArray(int *arr, int size) {
for(int i = 0; i < size; i++) {
printf("arr[%d] = %d\n", i, *(arr + i));
}
}
위와 같이 배열의 각 요소를 출력하는 함수를 설계할 수 있다.
배열의 주소(포인터)와 배열의 크기를 입력으로 받아서, arr[i] = i번째 배열 요소 값을 출력할 수 있다. *(arr+i) 코드로 배열의 각 요소를 접근 & 출력할 수 있다.
int main() {
int arr[10] ;
int num[10] ;
printf("10개의 정수를 입력하세요: \n") ;
for(int i=0; i<10; i++){
scanf("%d", &num[i]) ;
}
int even_cnt = 0 ;
int odd_cnt = 0 ;
for(int i=0; i<10; i++){
if(num[i] % 2 == 1) {
arr[even_cnt] = num[i] ;
even_cnt++ ;
}
else {
arr[9-odd_cnt] = num[i] ;
odd_cnt++ ;
}
}
printf("문제 결과: \n") ;
PrintArray(arr, sizeof(arr)/sizeof(arr[0]));
}
1. scanf로 num 배열의 10개 요소에 값을 키보드 입력을 받는다.
2. even_cnt, odd_cnt 변수를 선언한다.
3. 배열의 각 요소를 체크한다. 짝수면 even_cnt를 증가시키고, 홀수면 odd_cnt를 증가시킨다.
4. 그리고 짝수면 arr 배열의 even_cnt에 값을 저장시키고, 홀수면 arr 배열의 9-odd_cnt에 값을 저장시킨다.
5. 마지막으로, PrintArray 함수를 호출해서, 배열 값을 확인했다.

그럼, 1,2,3,4,5,6,7,8,9,10 을 입력했을 때, 문제에서 원하는 형태의 출력을 얻을 수 있다.
반응형
'🖥️ - C language' 카테고리의 다른 글
| C언어 - 구조체(2) : 구조체, 배열, 그리고 포인터 (0) | 2025.05.30 |
|---|---|
| C언어 구조체(struct)와 공동체(union) — 개념부터 시뮬레이션 활용까지 (0) | 2025.05.30 |
| C언어 공부 - 포인터 변수가 참조하는 대상의 변경을 허용하지 않는 const 선언 (0) | 2025.05.18 |
| C언어 - Call by value vs Call by Reference (0) | 2025.05.18 |
| C언어 - 함수와 포인터에 대한 이해 (0) | 2025.05.18 |