#include<iostream.h>
#define size 10
struct student{
int test_1;
int test_2;
int test_3;
int ave;
int max,min;
};
main(){
student a[size];
int sum=0,total_ave; int max,min,j,u; int up_st,down_st;
for(int i=0; i<10; i++){
cout<<\"=======\"<<i+1<<\"=======\"<<endl;
cout<<\"수학점수=\";cin>>a[i].test_1;//점수입력
cout<<\"영어점수=\";cin>>a[i].test_2;//점수입력
cout<<\"국어점수=\";cin>>a[i].test_3;//점수입력
a[i].ave=(a[i].test_1+a[i].test_2+a[i].test_3)/3;//평균값계산
cout<<\"평균값=\"<<a[i].ave<<endl;
//최저 최소 계산
if(a[i].ave<a[i].test_1) {a[i].max=a[i].test_1;cout<<\"최대값은=\"<<a[i].max<<endl;}
else if(a[i].ave<a[i].test_2) {a[i].max=a[i].test_2;cout<<\"최대값은=\"<<a[i].max<<endl;}
else if(a[i].ave<a[i].test_3) {a[i].max=a[i].test_3;cout<<\"최대값은=\"<<a[i].max<<endl;}
if (a[i].ave>a[i].test_1) {a[i].min=a[i].test_1;cout<<\"최소값은=\"<<a[i].min<<endl;}
else if(a[i].ave>a[i].test_2) {a[i].min=a[i].test_2;cout<<\"최소값은=\"<<a[i].min<<endl;}
else if(a[i].ave>a[i].test_3) {a[i].min=a[i].test_3;cout<<\"최소값은=\"<<a[i].min<<endl;}
if (a[i].ave==a[i].test_1) cout<<\"(\"<<i+1<<\")\"<<\"의 점수는 모두 같다\"<<endl;
cout<<\"===============\"<<endl;
}
//평균값
for(j=0; j<10; j++)
sum+=a[j].ave;
total_ave=sum/10;
//개인 학생의 소,대 평균값
for(u=0; u<10; u++){
if(total_ave<a[u].ave) {max=a[u].ave; up_st=u; total_ave=max;}
if (total_ave>a[u].ave) {min=a[u].ave; down_st=u; total_ave=min;}
}
cout<<up_st<<\"학생최대값은=\"<<max<<endl;
cout<<down_st<<\"학생최소값은=\"<<min<<endl;
}
학생들의 점수를 받아적어서 최대점수 최소점수 평균값 까지는 되는데
최대평균값 최소 평균값 잡는거에서 계속 엉뚱한것만 나옵니다 왜그런거에요?
평균값에 문제가 생기는건 너가 int 로 해서 그렇다. 0.몇도 나올 수 있는 거잖어 실수값이 들어가게 해야지. float 나 double를 써야지... 아님 0으로 나누웠거나~
그리고 변수 초기화 좀 해주자 ㅡ.ㅡ 쓰레기값 들어간단 말이당~ 하긴 C# 같은건 안해줘도 되지만...
오늘부터 정렬에대해 공부하게나.. 버블정렬 이런거 말야. 도움이 될거야 ㅎ