728x90
  • 정확히 if else 로만 이루어져 있는 구문은 다음과 같이 삼항연산자를 이용하면 한 줄에 표현이 가능합니다.
  • 이렇게 코드를 작성하면 변수 a는 조건이 참인 경우 v1값을, 조건이 거짓인 경우에는 v2 값을 갖게 됩니다.
if (조건) {
    a = v1;
}
else {
    a = v2;
}
a = 조건 ? v1 : v2;
#include <stdio.h>

int main() {

	int a, b;
	scanf("%d", &a);

	b = a > 10 ? 50 : 3;

	printf("%d", b);
	return 0;

}

 

▶문제: 정수 2개를 입력받아 두 값 중 최댓값을 출력하는 프로그램을 작성해 보세요.

#include <stdio.h>

int main() {
    int a,b,c;

    scanf("%d %d",&a,&b);
    c = a<b ? b : a;
    printf("%d",c);
    return 0;
}

▶문제: 시험 결과가 100점일 경우에만 0등급을, 그 외엔 점수에 따른 등급 1~9를 부여하기로 했다.

오로지 등급 0 만 pass고, 나머지 등급을 받은 사람들의 점수를 failure라고 출력하는 프로그램을 삼항연산자를 사용하여 작성해 보세요.

#include <stdio.h>

int main() {
    int score;
    char* grade;

    scanf("%d",&score);
    grade = (score == 100) ? "pass" : "failure";
    printf("%s\n",grade);

    return 0;
}

▶문제: 정수 a가 주어졌을 때, a가 1이라면 t를 출력하고, 1이 아니라면 f를 출력하는 프로그램 삼항연산자를 사용하여 작성해 보세요.

#include <stdio.h>

int main() {
    int a;
    char b;

    scanf("%d",&a);
    b = (a==1)?'t':'f';
    printf("%c",b);
    return 0;
}

 

+ Recent posts