정수 위주로만 풀다보니 실수에서 약간 당황하게 됐던 문제
출력할 때 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;
}