この教科が原因で留年しています。今度こそ根本から理解したいので、皆さんのお力をお貸し下さい。
宜しくお願いします。
------------------------------------------------------------------------------
int id, char name[20],
int kokugo, int suugaku, int eigo を持つ
構造体studentの宣言、および、####部分を修正し、下記のプログラムを実行してみよ。
#include <stdio.h>
#define NUMBER 5 /* 学生の人数 */
/* 学生を表す構造体 */
void swap(######, ######);
void sort(struct student member[], int n);
int main(void)
{
int i;
struct student data[] = {
{ 1, "太郎", 100, 85, 60},
{ 2, "小林", 86, 70, 80},
{ 3, "田中", 46, 50, 70},
{ 4, "伊藤", 90, 60, 40},
{ 5, "佐藤", 70, 65, 90},
};
sort(data, NUMBER);
for (i = 0; i < NUMBER; i++)
printf("%4d%8s%6d%6d%6d¥n",
data[i].id, data[i].name, data[i].kokugo, data[i].suugaku, data[i].eigo);
return (0);
}
/* xおよびyが指す構造体を交換 */
void swap( ######, ######)
{
############
############
############
}
/* 配列dataの先頭n個の要素をkokugoの降順にソート */
void sort(struct student member[], int n)
{
int k = n-1;
while (k >= 0) {
int i, j;
for (i = 1, j = -1; i <= k; i++)
if (member[i-1].kokugo < member[i].kokugo) {
j = i - 1;
swap(&member[i], &member[j]);
}
k = j;
}
}