정말 급해요 ㅜ 가장 많이 선택되는 수 찾기
찬
질문 제목 : 가장 많이 입력되는 수 찾기질문 요약 :숫자 10개를 입력받아 그 수들의 평균과 가장 많이 입력되는 수를 찾는 프로그램을 작성하여라.질문 내용 : 이거 진짜 ㅜㅜ 제 생각에는 이렇게하면 이론적으로 분명히 맞거든요?
실제로 해봐도 진짜 나오긴 잘 나와요.
근데 학원다녀서 뭔 채점시스템이 있는데 채점해보면
데이터 10개중에 5개는 정상출력되고 5개는 안되고;;;
학원에 어떤사람이 저 막 따라잡아서 승부욕 장난아니네요. 서로 얼굴도 모르는사이;; 나만 그사람이 절 쫓아온다고 생각하는.. 그사람은 걍 하는것일수도;;
여튼 제가 짠 소스 올릴게요 ㅜㅜㅜ 진짜 ㅜㅜ
#include stdio.h
void Find_Frequency(void);
FILE *fp1, *fp2;
int n[10];
void main(void)
{
int i;
fp1=fopen(input.txt,r);
fp2=fopen(output.txt,w);
for(i=0; i9; i++)
fscanf(fp1,%d,&n[i]);
Find_Frequency();
}
void Find_Frequency(void)
{
int i, j,
average=0, Mf[10]={0}, max=0;
for(i=0; i9; i++){
for(j=0; j9; j++)
if(n[i] == n[j])
Mf[i]++;
average+=n[i];
}
for(i=0; i9; i++){
if(Mf[i] = max)
max=i;
}
fprintf(fp2,%d\n%d,average/10,n[max]);
}
실시간 답변 부탁할게요 ㅜ
-
슬찬
캄사합니다.!
-
마리
write 모드 입니다.. 파일을 쓰기 위해서 여는거죠!!
-
아름나
꼭 fclose를 해줘야한다는 사실은 처음알았습니다.. w모드가 뭐죠?
-
아지랑이
fopen을 하면 반드시 fclose를 해줘야 됩니다.
특히 \w\ 모드인 경우에는 무조건 반드시 꼭 해 줘야 됩니다. -
마루한
그래도 정석적으로 해서 fclose() 써주는게 눈에 구분하기 좋을듯....
-
아론아브라함
별 상관없을거같지만 fclose
-
얀새
아앜 for문 지적 감사합니다.. 바꾸니까 예제데이터는 잘 나오네요;; 근디 가독성 떨어지는건 제가 VB 6.0에서 코딩하던걸 그대로 글쓰기에다가 붙여넣기 하니까 TAB으로 인한 공백이 다 없어지네요+_+ 뭐죠 ㅋㅋㅋ 그리고 제 소스가 가독성이 떨어지나요? 한눈에 봤을때? 삼성다니시는 프로그래머분께서 제소스보고 \야 너 뭐냐\ 이소릴 ㄷㄷ
-
꺆잉
소스 그대로 카피 해서 붙어 넣어 더니 가독성이 후덜덜,,,
10 자리 인데 9개만 입력 받으셔서 그런거 아닌가요??
10개의 숫자를 받으셔야 한다는데..
0부터 8까지만 데이터를 받으시고 있으니,,
for(i=0; i10; i++) or for(i=0; i=9 i++)
이렇게 바뀌어야 10개의 숫자를 받을텐데여.. 지금 9개를 받으시고
전부 연산을 9개만 가지고 하고 잇습니다.. -
agine
그럼 그냥 댓글을 달지 마시지그러셨어요=_= TV 보시는데 댓글은 어떻게다시나=_=
-
황소숨
TV 보는 중이라서...