#include <stdio.h>

#define MAX 5

int main()
{
	int i, j;
	int jumsu[MAX];
	int rank[MAX];

	for(i=0 ; i<MAX ; i++)
	{
		printf("%d번 학생의 점수를 입력 : ", i+1);
		scanf("%d", &jumsu[i]);
		
		//모두 1등으로 초기화
		rank[i]=1;
	}

	printf("\n");

	//나보다 높은 점수가 있으면 +1
	for(i=0 ; i<MAX ; i++)
	{
		for(j=0 ; j<MAX ; j++)
		{
			if(jumsu[i] < jumsu[j])
			{
				++rank[i];
			}
		}
	}

	//출력부
	for(i=0 ; i<MAX ; i++)
	{
		printf("%d번 학생의 점수는 %d, 순위는 %d입니다.\n", i+1, jumsu[i], rank[i]);
	}

	return 0;
}



#include <stdio.h>

#define MAX 10

int main()
{
	int arr[MAX];
	int i, j=1;
	int HIGH, LOW, MID;

	//배열 공간 초기화
	for(i=0 ; i<MAX ; i++)
	{
		arr[i] = j;
		j += 2;
	} 

	printf("0을 입력하면 종료");
	
	while(1)
	{
		bool state(1);
		int key;

		LOW = 0;
		HIGH = MAX;
		MID = (LOW+HIGH)/2;

		//배열 공간의 내용을 보여줌
		for(i=0 ; i<MAX ; i++)
		{
			printf("%2d번지 : %2d\n", i+1, arr[i]);
		}

		//키 값을 입력
		printf("\nkey값을 입력하세요 : ");
		scanf("%d", &key);
		if(key <= 0) return 0;

		//2진 검색
		while(state == 1)
		{
			MID = (LOW+HIGH)/2;

			if(arr[MID] == key)
			{
				printf("%d번지에 있습니다.\n\n", MID+1);
				state = 0;
			}
			if(key < arr[MID])
			{
				if(arr[MAX-1]<key)	
					state = 0;

				HIGH = MID-1;
			}
			if(key > arr[MID])
			{
				LOW = MID+1;
			}
		}
		//printf("값이 없습니다.");
	}

	return 0;
}



#include <stdio.h>

void insertion_sort( int *nArr, int nCount )
{
	int i(0), j(0);
	int key = 0;

	for( i=1 ; i<nCount ; ++i )
	{
		key=nArr[i];
		for( j=i-1 ; j>=0 ; --j )
		{
			if( nArr[j]>key )
			{
				nArr[j+1] = nArr[j];
			}
			else
			{
				break;
			}
		}
		nArr[j+1] = key;
	}
	int a = 9;
}

int main( )
{
	int nArr[] = { 7, 3, 8, 0, 2, 1, 5, 13, 6 };
	int nCount = sizeof(nArr)/sizeof(*nArr);
	
	insertion_sort( nArr, nCount );

	for( int i=0 ; i<nCount ; ++i )
	{
		printf( "%d\n", nArr[i] );
	}

	return 0;
}




#include <stdio.h>

#define MAX 10

int main()
{
	int arr[MAX];
	int i, j;
	int temp;

	printf("음수를 입력하면 종료\n\n");
	
	while(1)
	{
		//입력
		for(i=0 ; i<MAX ; i++)
		{
			printf("%d번지 수를 입력하세요 : ", i+1);
			scanf("%d", &arr[i]);
			if(arr[i] < 0)	return 0;
		}

		//입력 확인
		printf("\n입력한 수는 ");
		for(i=0 ; i<MAX ; i++)
		{
			printf("%2d ", arr[i]);
		}
		printf("\n");

		//정렬
		for(i=0 ; i<MAX-1 ; i++)
		{
			for(j=0 ; j<MAX-(i+1) ; j++)
			{
				//꺽쇠 방향만 바꾸면 오름, 내름
				if(arr[j] > arr[j+1])
				{
					temp = arr[j];
					arr[j] = arr[j+1];
					arr[j+1] = temp;
				}
			}//for j
		}//for i

		//출력
		printf("정렬된 수는 ");
		for(i=0 ; i<MAX ; i++)
			printf("%2d ", arr[i]);

		printf("\n\n");

	}//while(1)

	return 0;
}



#include <stdio.h>

#define MAX 10

int main( )
{
	int arr[MAX];
	int i, j;
	int temp;

	printf( "음수를 입력하면 종료\n\n" );
	
	while(1)
	{
		//입력
		for( i=0 ; i<MAX ; i++ )
		{
			printf( "%d번지 수를 입력하세요 : ", i+1 );
			scanf( "%d", &arr[i] );
			if(arr[i] < 0)
			{
				return 0;
			}
		}

		//입력 확인
		printf( "\n입력한 수는 " );
		for( i=0 ; i<MAX ; i++ )
		{
			printf( "%2d ", arr[i] );
		}
		printf( "\n" );

		//정렬
		for( i=0 ; i<MAX-1 ; i++ )
		{
			for( j=i+1 ; j<MAX ; j++ )
			{
				//꺽쇠 방향만 바꾸면 오름, 내름
				if( arr[i] > arr[j] )
				{
					temp = arr[i];
					arr[i] = arr[j];
					arr[j] = temp;
				}
			}//for j
		}//for i

		//출력
		printf( "정렬된 수는 " );
		for( i=0 ; i<MAX ; i++ )
		{
			printf( "%2d ", arr[i] );
		}

		printf( "\n\n" );

	}//while(1)

	return 0;
}

+ Recent posts