728x90
#pragma warning(disable:4996)
#include <stdio.h>
/* 문제2 . 10개의 양의 정수를 입력받아서 입력받은 숫자가 홀수면 배열의 앞에서부터, 짝수면 뒤에서부터 채워서 10개의 양의 정수를 재배열하여 출력하시오. */
int main() {
int num[10];
int num2[10] = { 0 }; // 정수를 재정렬하여 담을 배열선언
int p = 0, q = 9;// p는 start, q는 end 이게 핵심 아이디어
for (int i=0;i<10;i++){
scanf("%d", &num[i]);
}// 배열에 정수10개 입력받기
for (int i = 0; i < 10; i++) {
if (num[i] % 2 == 0) { //짝수이면 뒤에서부터
num2[q] = num[i]; //새로운 배열로 값을 옮깁니다.
q--; //배열인덱스를 end지점에서부터 1 감소시킵니다.
}
else {// 홀수이면 앞에서부터 채워줍니다
num2[p] = num[i];// 새로운 배열로 값을 옮깁니다.
p++;// 배열인덱스를 시작지점 0부터 출발하여 1추가합니다.
}
}
for (int i = 0; i < 10; i++) {
printf("%d ",num2[i]);
} // 재정렬된 배열을 출력합니다.
return 0;
}
728x90
'지난 학기들의 기록 > C 기초' 카테고리의 다른 글
[C실습] 함수예제 - 높은 자릿수, 낮은자릿수부터 변환하기 (0) | 2020.05.31 |
---|---|
[C실습] 배열 예제- 배열의 원소 중복 검사하기 (0) | 2020.05.31 |
[C실습] 배열 유형 분석 2- N개의 정수배열에서 M개의 칸씩 위치옮기기 (0) | 2020.05.31 |
[C실습] 배열 유형 분석 1- N개의 정수배열에서 M개씩 그룹지어 비교하기(+추가) (2) | 2020.05.31 |
[C실습] 배열 실습문제 11~13번 풀이 (0) | 2020.05.21 |
댓글