문제: 정수를 5개를 배열에 입력받고 오름차순으로 정렬하는 프로그램을 만들어라
답안:
/*숫자 5개를 배열에 입력받아서 오름차순으로 정렬하는 알고리즘*/ #include <stdio.h> int main(void) { int i; int j; int temp; //값을 임시적으로 저장할 변수 int num[5] = { 0 }; printf("값을 5개 입력해주세요:"); for (i = 0; i < 5; i++) { scanf_s("%d", &num[i]); } for (i = 0; i < 5; i++) { for (j = 0; j < 5; j++) { if (num[i] < num[j]) { //이부분이 상당히 중요한 부분입니다 temp = num[i]; num[i] = num[j]; num[j] = temp; } } } printf("정렬 결과는: "); for (i = 0; i < 5; i++) { printf("%d ", num[i]); } return 0; }문제: 정수를 5개를 배열에 입력받고 내림차순으로 정렬하는 프로그램을 만들어라
답안:
다들 어디가 가장 중요한지 느끼셨나요??
바로 "IF절" 안이 가장 중요한데요
나머지 내용은 다 똑같아도 <이면 오름차순이 되고 >이면 내림차순이 된답니다
C언어에 더 알고 싶다면?
👉C언어 마이크로 소프트 Visual Studio 2019 설치방법은?
👉C언어 알고리즘/순서도/프로그래밍 개념/디버깅이란?
👉C언어로 구사하는 알고리즘 1. 날짜값을 넣으면 해당 요일이 나오는 코딩 예제(윤년계산)
👉C언어로 구사하는 알고리즘 2. 형변환 그레이코드를 만드는 알고리즘
👉C언어로 구사하는 알고리즘 3. 성적 석차 구하기 알고리즘 구현하기
👉C언어로 구사하는 알고리즘 4. 정수 오름차순/내림차순을 구현하는 알고리즘(SORT)
--*Program --/C언어 2011. 9. 21. 11:53 #include<stdio.h> void main() {
int num[10]; //입력받을 숫자들을 넣을 배열
int temp; //임의로 MAX값 넣을 공간
int i,j,k; //FOR문 증가값
// 10개의 정수를 돌아가면서 num[]에 넣는다
for(i = 0; i<10; i++)
{
printf("%d 번째 값을 입력하세요: ",i+1);
scanf("%d", &num[i]); //입력 받아서 num[i]에 넣는다
printf("\n");
}
for(j=0;j<10;j++)
{
for(k=0;k<9;k++)
{
if(num[k] > num[k+1]) //연달아있는 두수중 앞에 있는수가 크다면
{
//위치 변경
temp = num[k];
num[k]=num[k+1];
num[k+1] = temp;
}//if
}//for(k)
}//for(j)
//결과 출력
printf("정렬 결과 : ");
for (i = 0 ; i<10;i++)
{
if(i == 0) // 첫번째 num[0]번째를 출력할때는 앞에 콤마(,)를 붙이지 않는다.
{
printf("%d",num[i]);
}
elseif(i == 9) // 마지막 num[9]를 출력할때는 맨뒤에 \n를 해준다.
{
printf(", %d \n", num[i]);
}
else
printf(", %d", num[i]);
}
}