๋ฌธ์
https://www.acmicpc.net/problem/1546
์ค๋ช
๋ฌธ์ ์์ฒด๋ ในใ ์ฌ์ด๋ฐ ๊ตณ์ด ๊ณ ๋ฏผํ ๋ถ๋ถ์ด๋ผ๋ฉด for๋ฌธ์ ๋๋ฒ์ด ์๋ ํ๋ฒ๋ง์ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ์ด ์์๊น ์ ๊น ๊ณ ๋ฏผํ ์ ๋. ์ผ๋จ ๋ด๊ฐ ์๊ฐํ์๋๋ ์ฑ์ ์ ์ ๋ ฅ๋ฐ๋ ๋์์ ์ต๋๊ฐ์ ์ค์๊ฐ์ผ๋ก ํ๋ณํ๋๋ก ํ๋๋ฐ ์ด๋ ๊ฒ ๋๋ฉด ๋ฐ๋ณต๋ฌธ์ด ๋ชจ๋ ๋๋๊ธฐ ์ ๊น์ง๋ ์ต๋๊ฐ์ ๋ชจ๋ฅด๋ฏ๋ก for๋ฌธ ํ๋๋ก ์กฐ์์ ์๊น์ง ๊ตฌํ๊ธฐ์๋ ๋ฌด๋ฆฌ๋ผ๊ณ ํ๋จํ๋ค. ์ผ๋จ ๊ทธ์ ์ ๋ฃ๊ธฐ๋ก ๋ฐฐ์ด์ ํฌ๊ธฐ๋ฅผ ์์๊ฐ ์๋ ๋ณ์๋ก ์ก๋ ๊ฒ์ ๊ณต์์ ์ธ ๋ฌธ๋ฒ์ด ์๋๋ผ๊ณ ๋ ํ๋ ๊ฒ ๊ฐ์๋ฐ ์ผ๋จ malloc (memory allocation)๋ฅผ ๋ฐฐ์ธ๋๊น์ง๋ ์ฐ๊ธฐ๋ก,.. (๋น์ฅ์ ๋งฅ์ xcode์์ ๊ผฌํฌ๋ฆฌ๋ ์์ก์ผ๋โฆ) ์์ค ์์ฒด๋ ๊ฐ๋จํ๋ค ๊ณผ๋ชฉ์ ๋ฐ์ ๋ณ์๋ ์ต๋๊ฐ์ ๋ด์ ๋ณ์ ๋ง๋ค๊ณ ๊ณผ๋ชฉ์ ์ ๋ ฅ๋ฐ๊ณ ๋ฐ๋ณต๋ฌธ์ผ๋ก ์ฑ์ ์ ์ ๋ ฅ๋ฐ์ผ๋ฉด์ ์ค์๊ฐ์ผ๋ก ์ต๋๊ฐ ํ๋ณํ๊ณ , ๋ค์ํ๋ฒ ๋ฐ๋ณต๋ฌธ ๋๋ฉด์ ๋ฌธ์ ์์ ์ฃผ์ด์ง ์ ์ ์กฐ์์์ ์ด์ฉํด ๊ณ์ฐํ ์กฐ์๋ ์ฑ์ ๋ฐฐ์ด์ ๋ค์ ์ง์ด๋ฃ์ผ๋ฉด์ ์ต์ข ํ๊ท ๋ณ์์ ๋ชจ๋ ๋ํ๊ณ ๋ฐ๋ณต๋ฌธ ํ์ ๊ณผ๋ชฉ์๋ก ๋๋๊ณ ์์๊ฐ์ผ๋ก ์ถ๋ ฅ์ํค๋๊ฒ์ด ๋ค๋ค. ์ง๊ธ ์น๋ฉด์ ์๊ฐํด๋ณด๋๊น ํ๊ท ๋ง ๊ตฌํ๋ฉด ๋๋๊ฑฐ๋๊น ์กฐ์ํ ์ ์ ๋ณ์(after_score)์ ์ธ๋ฐ์๋ ๋ณ์ ์๋คโฆ ๋ ๋จ์ํ ์ํฌ์ ์์๊ตฌ๋งโฆ๐
์ฝ๋
#include <stdio.h>
int main() {
int subject, max=0;
scanf("%d",&subject);
int score[subject];
double after_score[subject],final_average = 0;
for(int i=0; i<subject; i++)
{
scanf("%d",&score[i]);
if(score[i]>max)
max = score[i];
}
for(int i=0; i<subject; i++)
{
after_score[i] = (score[i]*1.0) / max * 100.0;
final_average += after_score[i];
}
final_average /= subject*1.0;
printf("%f\n",final_average);
return 0;
}