본문 바로가기
C 언어

c 언어[011] 조건 연산자"조건? 수식 1;수식2;" for 반복문 활용, 총점과 평균구하는 프로그램

by Smart Factory in 2020 2020. 10. 9.
728x90
반응형

안녕하세요. 스마트팩토리입니다. 

c 언어[011] 조건 연산자 조건? 수식 1;수식2; c 언어[011] 조건 연산자"조건? 수식 1;수식2;" for  반복문 활용, 총점과 평균구하는 프로그램에 대해 알아보겠습니다. 

조건 연산자는 조건이 참이면 처음 것을 거짓이면 그 다음것을 실행하는 연산을 하도록 하는 연산자입니다. 

.

예를 들어 보겠습니다. 

 a >= 80 ? score++ : score1 ++ ;

a의 값이 80이상이면  score에 1씩  추가 , 그렇지 않으면 즉 80점 미만 면 score1 에 1씩 증가하게 됩니다. 

 a >= 80 ? score++ : score1 ++ ; 를 활용해 보았습니다. 

80점 이상을 받는 변수는  score 로 하고 80점 미만을 받는 변수는 score1 하여 

score++는 1씩 누적하도록 했습니다. 

score++는 score=score+ 1을 의미합니다. 

점수를 입력받아 카운트 하도록 했습니다. 


#include<stdio.h>
void main() {
 
 int a;
 int score=0;
 int score1 = 0;
 
 for (int i = 0; i < 10; i++) { --> 10번 반복
     puts("점수를 입력하세요");  
     scanf_s("%d", &a);
     a >= 80 ? score++ : score1 ++ ; --> 조건 연산자
     }
 printf("80점을 넘은 학생은 %d명 이고 80점 미만은 %d 명 입니다.",score,score1 );
}


반복을 초기값을 1, 조건을 5 미만으로 즉 4명의 점수를 입력 받도록 한 경우입니다. 

다양한 연산자를 통해 점수의 합계도 구할 수 있습니다. 

 

 

총점을 sum 평균은 avg 로 받아서 연산하도록 하였습니다. 


#include<stdio.h>
void main() {
    int a;
    int score = 0;
    int score1 = 0;
    int sum = 0;
    float avg=0.00f;
    for (int i = 1; i < 5; i++) {
        puts("점수를 입력하세요");
        scanf_s("%d", &a);
        a >= 80 ? score++ : score1++;
        sum += a; }
    avg =(float)sum/4;   --> 강제 형변환을 통해서 소수 둘째짜리까지 출력
    printf("80점을 넘은 학생은 %d명 이고 80점 미만은 %d 명 입니다.\n", score,score1);
    printf("반 총점은 %d이고 평균은 %3.2f입니다.\n", sum, avg);
}


 

728x90
반응형

댓글