728x90
반응형
Q5. 배열 요소를 역순으로 정렬하는 과정을 일일이 출력하도록 실습 2-7을 수정한 프로그램을 작성하세요.
※ ary_reverse 함수를 수정하세요.
코드)
#include <stdio.h>
#include <stdlib.h>
#define swap(type, x, y) do{type t=x; x=y; y=t;} while(0)
void ary_reverse(int a[], int n) {
int i;
int j;
for(i=0; i<n/2; i++) {
for(j=0; j<n; j++)
printf("%d ", a[j]);
puts("");
printf("a[%d]과 a[%d]를 교환합니다.\n", i, n-i-1);
swap(int, a[i], a[n-i-1]);
}
}
int main(void) {
int i;
int *x;
int nx;
printf("요소개수 : ");
scanf("%d", &nx);
x = calloc(nx, sizeof(int));
printf("%d개의 정수를 입력하세요.\n", nx);
for(i=0; i<nx; i++) {
printf("x[%d] : ", i);
scanf("%d", &x[i]);
}
ary_reverse(x, nx);
printf("배열의 요소를 역순으로 정렬했습니다.\n");
for(i=0; i<nx; i++) {
printf("x[%d] = %d\n", i, x[i]);
}
free(x);
return 0;
}
실행결과)
sy@sy:~/algorithm/doit/chap02$ gcc q5.c -o q5
sy@sy:~/algorithm/doit/chap02$ ./q5
요소개수 : 5
5개의 정수를 입력하세요.
x[0] : 10
x[1] : 73
x[2] : 2
x[3] : -5
x[4] : 42
10 73 2 -5 42
a[0]과 a[4]를 교환합니다.
42 73 2 -5 10
a[1]과 a[3]를 교환합니다.
배열의 요소를 역순으로 정렬했습니다.
x[0] = 42
x[1] = -5
x[2] = 2
x[3] = 73
x[4] = 10
728x90
반응형
'Algorithm > Do it' 카테고리의 다른 글
[자료구조와 함께 배우는 알고리즘 입문 - C언어 편] 2장 기본 자료구조 연습문제 Q7 답안 p.75 (0) | 2019.10.09 |
---|---|
[자료구조와 함께 배우는 알고리즘 입문 - C언어 편] 2장 기본 자료구조 연습문제 Q6 답안 p.75 (0) | 2019.10.09 |
[자료구조와 함께 배우는 알고리즘 입문 - C언어 편] 2장 기본 자료구조 연습문제 Q4 답안 p.75 (0) | 2019.10.09 |
[자료구조와 함께 배우는 알고리즘 입문 - C언어 편] 2장 기본 자료구조 연습문제 Q3 답안 p.75 (0) | 2019.10.09 |
[자료구조와 함께 배우는 알고리즘 입문 - C언어 편] 2장 기본 자료구조 연습문제 Q2 답안 p.74 (0) | 2019.10.09 |