알고리즘/알고리즘(c++)
백준문제[4344]_평균은 넘겠지
byeol2ing
2018. 8. 27. 15:25
반응형
문제링크 : https://www.acmicpc.net/problem/4344
<문제>
대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다.
<입력>
첫째 줄에는 테스트 케이스의 개수 C가 주어진다.
둘째 줄부터 각 테스트 케이스마다 학생의 수 N(1 ≤ N ≤ 1000, N은 정수)이 첫 수로 주어지고, 이어서 N명의 점수가 주어진다. 점수는 0보다 크거나 같고, 100보다 작거나 같은 정수이다.
<출력>
각 케이스마다 한 줄씩 평균을 넘는 학생들의 비율을 반올림하여 소수점 셋째 자리까지 출력한다.
<예제입력>
5 5 50 50 70 80 100 7 100 95 90 80 70 60 50 3 70 90 80 3 70 90 81 9 100 99 98 97 96 95 94 93 91
<예제출력1>
40.000% 57.143% 33.333% 66.667% 55.556%
<내답안>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | #include<iostream> using namespace std; int main() { cout << fixed; cout.precision(3); int n=0;//testcase float lol; cin>>n; float *arr=new float[n]; for(int i=0; i<n; i++) { float avg; float people; int count=0; int tmp=0; int a=0; cin>>people; a=people; int *arr2=new int[a]; for(int j=0; j<people; j++) { cin>>arr2[j]; tmp=arr2[j]+tmp;//학생총점 } avg=tmp/people; for(int j=0; j<people; j++) { if(arr2[j]>avg) { count++; } } lol=(count/people)*100; arr[i]=lol; } for(int i=0;i<n;i++) { cout<<arr[i]<<"%"<<endl; } } | cs |
반응형