함수사용
히나
함수를 이용해서 수정해야 해요.#include stdio.h
#include conio.h
#include stdlib.h
void INT_Bubble_Sort(int data[], int n)
{
int i, j;
int temp = 0;
for(i = 0; i n - 1; ++i){
for(j = 0 ; j n - 1; ++j){
if(data[j] data[j + 1]){
temp = data[j];
data[j] = data[j + 1];
data[j + 1] = temp;
}
}
}
}
#define MAX_INPUT_COUNT 10
typedef struct StudentRecordStructure {
int number;
char name[16];
int korean;
int english;
int math;
int total_marks;
int ranking;
} SRS;
int GetRanking(int parm_data[], int parm_total_marks)
{
int i;
for(i = 0; i MAX_INPUT_COUNT; i++){
if(parm_data[i] == parm_total_marks) break;
}
return MAX_INPUT_COUNT - i;
}
int main()
{
SRS data[MAX_INPUT_COUNT];
int count = 0, i, total_table[MAX_INPUT_COUNT];
for(i = 0; i MAX_INPUT_COUNT; i++){
printf(*** Input Student [%2d] ***\n, i + 1);
printf(Number: );
scanf(%d, &data[i].number);
printf(Name: );
scanf(%s, &data[i].name);
printf(Korean Marks: );
scanf(%d, &data[i].korean);
printf(English Marks: );
scanf(%d, &data[i].english);
printf(Math Marks: );
scanf(%d, &data[i].math);
total_table[i] = data[i].total_marks = data[i].korean + data[i].english + data[i].math;
}
INT_Bubble_Sort(total_table, MAX_INPUT_COUNT);
printf( 성적처리\n);
printf(---------------------------------------------------------\n);
printf( 학번 이름 국어 영어 수학 총점 평균 석차 \n);
printf(---------------------------------------------------------\n);
for(i = 0; i MAX_INPUT_COUNT; i++){
data[i].ranking = GetRanking(total_table, data[i].total_marks);
printf(%06d %7s %3d %3d %3d %3d %4.1f %3d\n, data[i].number, data[i].name, data[i].korean,
data[i].english, data[i].math, data[i].total_marks, data[i].total_marks/3.0, data[i].ranking);
}
system(pause);
}질문 내용 :
10명 국영수 평균과 석차를 구하는 소스인데요.
이거를 함수를 이용해서 수정할 수가 있을까요??
-
민서
네 가능합니다. 포인터를 배우셨으면 call by reference를 이용하시면 되고 아직덜 배우셨으면
call by value로 return값을 이용하는 함수로 하시면됩니다.
입력함수()
{
입력
return 구조체;
}