[C] 纯文本查看 复制代码 #include <stdio.h>
#include <string.h>
#define N 16
typedef struct
{
char num[10];
int s;
} STREC;
void fun(STREC a[])
{
int i, j;
STREC temp;
for ( i = 0; i < N - 1; ++i)
{
for ( j = i + 1 ; j < N; ++j)
{
if (a[i].s >= a[j].s) {
temp = a[i];
a[i] = a[j ];
a[j] = temp;
}
}
}
}
int main()
{
STREC s[N] = { {"GA005",85},{"GA003",76},{"GA002",69},{"GA004",85},
{"GA001",91},{"GA007",72},{"GA008",64},{"GA006",87},
{"GA015",85},{"GA013",91},{"GA012",64},{"GA014",91},
{"GA011",66},{"GA017",64},{"GA018",64},{"GA016",72} };
int i; FILE* out;
printf("The data before sorted :\n");
for (i = 0; i < N; i++)
{
if ((i) % 4 == 0)printf("\n");
printf("%s %4d ", s[i].num, s[i].s);
}
puts("");
fun(s);
printf("The data after sorted :\n");
for (i = 0; i < N; i++)
{
if ((i) % 4 == 0)printf("\n");
printf("%s %4d ", s[i].num, s[i].s);
}
return 0;
}
你应该说的是这样吧,我用的选择排序按照分数的升序排序了 |