zerofunc

반복문 응용 - 최대값구하기 ! (삼항연산자) 본문

IT/C언어

반복문 응용 - 최대값구하기 ! (삼항연산자)

0penster 2013. 11. 30. 03:23

이번 예제는 저번에 배운

반복문인 for문의 응용예제이다.

이번에 할것은 최대값 구하기인데,

삼항연산자를 통해 빠르고, 최적화된 방법으로 할것이다.

삼항연산자는

변수 = (변수1 '(부호)변수2) ? 변수1:변수2;

의 형태로 쓰인다.

부호에 따라 조건이 맞으면 변수1을 변수 저장하고 

거짓이라면 변수2;를 변수 에 저장한다.

우선 소스를 보자면,


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
#include <conio.h>
 
void main(){
    int input,i;
    double num,max=0;
    printf("입력될 수의 개수는?"); scanf("%d",&input);
    printf("%d개의 실수를 입력하시오 ->",input);
    scanf("%lf",&num);
    max=num;
 
    for(i=1;i<input;i++){
        scanf("%lf",&num);
        max=(num>max)?num:max;
    }
    printf("최대값: %.2lf\n",max);
    getch();
 
}
cs

처음에 입력받을 수의 갯수를 받을 변수를 input이라 하고

입력을받아 for문을 input만큼 수행한다.

이번에는 max 즉 최대값을 구하는건데

삼항연산자를 통해 빠른속도로 구할수있다.

맨처음 max값을 초기화해준다.

그다음 for문은 한번수행했기에

i=0부터가 아니라 i=1부터이여야 한다.

max를 초기화해준뒤

for문을 수행하며

현재의 max값과 입력받은 num값을 비교하며

최대값을 구한다.





'IT > C언어' 카테고리의 다른 글

사용자 정의 함수 응용 - 문자열 이어붙이기 (포인터)  (0) 2013.11.30
사용자 정의 함수 - 작은값  (0) 2013.11.30
반복문 - for문  (0) 2013.11.30
반복문 - While  (0) 2013.11.30
C언어 기초 - 연산자  (0) 2013.11.29
Comments