[백] 4344 평균은 넘겠지 - 형 변환

serotonins·2022년 9월 17일
0

Coding Q

목록 보기
3/17

정수 위주로만 풀다보니 실수에서 약간 당황하게 됐던 문제

출력할 때 printf("%.3f%%\n", (float)high * 100 / N); 으로 코딩해도 맞출 수 있다

주석에 단 것처럼 형 변환 안 하려면 100.0처럼 실수 형태로 연산해줘야 한다는 것을 유의


#define _CRT_SECURE_NO_WARNINGS


#include <stdio.h>

#include <malloc.h>


int main()

{

int C = 0, N = 0;

scanf("%d", &C);


for (int j = 0; j < C; j++)

{

scanf("%d", &N);

int *student = (int *)malloc(sizeof(int)*N);

int sum = 0, high = 0;

for (int i = 0; i < N; i++)

{

scanf("%d", &student[i]);

sum += student[i];

}


for (int j = 0; j < N; j++)

if (student[j] >(sum / N)) high++;


printf("%.3f%%\n", high * 100.0 / N); //형변환 안하려면 100 -> 100.0 으로 하면 됨

}



for (int i = 0; i < 3; i++) getchar();

return 0;

}

0개의 댓글