배열을 이용하여 합,평균계산후 순위 매긴후 정렬
아연
질문 제목 : 배열을 이용하여 합,평균계산후 순위 매긴후 정렬
문제는 배열을 이용하여 기컴과 db점수를 입력받은후
합과 평균을 계산 한후 순위를 매긴다음에
첫번째로 프린트를 하고
다음은순위가 높은순으로 정렬한후
두번째로 프린트 하는 것인데요
질문 내용 :
순위를 매기는게 잘못이됬는지 ㅠㅠ안되네요.
어떻게 고쳐야 할까요.하하;
--------------------------------------------------------------
#include stdio.h
int insert_grade(int *a,int size);
int cal(int *a,int *b,int *sum_c,int *avr_c,int size);
int print(int *list,int *a,int *b,int *sum_c,int *avr_c,int *grade,int size);
int sort(int *list,int *sum_c,int size);
int Grade(int *sum_c,int *grade,int size);
int main()
{
int list[5]={1,2,3,4,5}; //번호
int Agrade[5],Bgrade[5]; //기컴점수와 데베 점수
int sum_cal[5],avr_cal[5]; //기컴과 데베의 합과,평균 계산
int grade[5]; //순위
printf(기초컴퓨터 점수 입력\n);
insert_grade(Agrade,5);
printf(데이터베이스 점수 입력\n);
insert_grade(Bgrade,5);
cal(Agrade,Bgrade,sum_cal,avr_cal,5);
Grade(sum_cal,grade,5);
print(list,Agrade,Bgrade,sum_cal,avr_cal,grade,5);
sort(list,grade,5);
sort(Agrade,grade,5);
sort(Bgrade,grade,5);
sort(avr_cal,grade,5);
sort(sum_cal,grade,5);
sort(grade,grade,5);
print(list,Agrade,Bgrade,sum_cal,avr_cal,grade,5);
}
int insert_grade(int *a,int size)
{
int i;
for(i=0;i5;i++)
{
printf(%d번째 학생의 점수 입력,i+1);
scanf(%d,&a[i]);
}
return 0;
}
int cal(int *a,int *b,int *sum_c,int *avr_c,int size)
{
int i;
for(i=0;isize;i++)
{
sum_c[i]=a[i]+b[i];//sum_c배열에 기컴과 데이터베이스의 합을 저장
avr_c[i]=sum_c[i]/2; //avr_c배열에 기컴과 데이터베이스의 평균을 저장
}
return 0;
}
int print(int *list,int *a,int *b,int *sum_c,int *avr_c,int *grade,int size)
{
int i;
printf(번호 기컴 디비 총점 평균 순위\n);
for(i=0;isize;i++)
{
printf(%-5d %-4d %-4d %-4d %-4d %-4d,list[i],a[i],b[i],sum_c[i],avr_c[i],grade[i]);
printf(\n);
}
printf(\n);
return 0;
}
int sort(int *list,int *grade,int size)
{
int i,scan,temp;
for(scan=0;scansize-1;scan++)
{
for(i=0;isize-1-scan;i++)
{
if(grade[i]grade[i+1]) // 오름차순 정렬
{
temp=list[i];
list[i]=list[i+1];
list[i+1]=temp;
}
}
}
return 0;
}
int Grade(int *sum_c,int *grade,int size)
{
int i,j;
for(i=0 ; i size ; i++)
{
grade[i] = 1; // 초기화
for(j=0 ; j size ; j++)
{
// 등수를구한다.
if( sum_c[i] sum_c[j] )
grade[i]++;
}
}
}
-
서리서리
sort함수를 호출해서 번호와 점수와 합과 평균 모두 정렬한후
실행화면 출력을 한번만 하면된다고 생각해서 그렇게 했거든요ㅠㅠㅠ어디서 잘못된 걸까요? -
푸른나무
sort 함수를 6번 호출하고 출력은 한 번만 하고 있네요.
-
앵초
순위를 매긴 등수대로
번호랑 기컴점수랑 디비점수랑 합이랑 평균계산한것이 바뀌어야하는데 안바뀌어서요.ㅜㅜ처음 질뮤하는거라 설명을 제대로 못해드렷내요!!지송합니당
예를들면
1 90 90 180 90 1
2 80 80 160 80 2
3 30 30 60 30 5
4 70 80 150 75 3
5 40 40 80 40 4
이렇게되잇던게
1 90 90 180 90 1
2 80 80 160 80 2
4 70 80 150 75 3
5 40 40 80 40 4
3 3 -
적송
뭐가 안된다는건지 구체적으로 설명해주세요.
그리고, 요약이랑 질문내용이 서식에 일치하지않네요.
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2692483 | C언어 함수, Header | 떠나간그놈 | 2025-04-23 |
2692451 | 이 문제좀 풀어주세요 ^^ | 게자리 | 2025-04-23 |
2692424 | 2차원배열 자료입력질문이요! (1) | 똘끼 | 2025-04-22 |
2692401 | 유닉스안에서 C언어를 이용한 명함 만들기 입니다; 이해안가는 부분이있네요 | 2gether | 2025-04-22 |
2692374 | 고수님들 댓글 마니부탁해요!!! (2) | 엄지 | 2025-04-22 |
2692343 | scnaf에 자꾸 선언을 참조하라는데;; (8) | 도래 | 2025-04-22 |
2692282 | 도스상에서 생성된 exe파일에 press~ 뜨게 하기 (4) | 회사원 | 2025-04-21 |
2692256 | scanf("%*c"); ㅠㅠ 고수님들 | 거북이 | 2025-04-21 |
2692230 | 하노이탑 질문입니다. (1) | 미쁘다 | 2025-04-21 |
2692210 | 정보 올림피아드 문제인데.. 풀이 과정이 궁금합니다.(재귀함수) (5) | 물티슈 | 2025-04-20 |
2692144 | C언어와 리눅스에 대한 질문입니다. | 싴흐한세여니 | 2025-04-20 |
2692114 | 컨텍스트 스위칭하는데 걸리는 시간 측정.. | YourWay | 2025-04-19 |
2692086 | 간접참조 연산자, 증감연산자 질문이용! (2) | 블랙캣 | 2025-04-19 |
2692056 | 주석좀 달아주세요. 몇개적엇는데 몇개만달아주세요. (2) | DevilsTears | 2025-04-19 |
2691978 | 진수 쉽게 이해하는법... (3) | 지지않는 | 2025-04-18 |
2691949 | getchar() 한 문자를 입력받는 함수 질문 | 채꽃 | 2025-04-18 |
2691919 | 배열 정렬 및 합치기 질문입니다. | 사과 | 2025-04-18 |
2691845 | c언어왕초보 질문이 있습니다........ | 루나 | 2025-04-17 |
2691815 | void add(int num); 함수... (4) | 살랑살랑 | 2025-04-17 |
2691756 | 명령 프롬프트 스크롤바가 없어요 | 두메꽃 | 2025-04-16 |