一、学生信息输入、排序、输出
#include <stdio.h>
#include <strings.h>
#define N 5
typedef struct stu
{
long num;
char name[12];
int age;
float score;
}STU;
void stuPrint(STU *s);
void stuSort(STU *ptr1);
void stuInput(STU *s);
int main(int argc, char const *argv[])
{
STU s[N];
stuInput(s);
stuSort(s);
stuPrint(s);
return 0;
}
void stuInput(STU *s)
{
for (int i = 0; i < N; i++)
{
scanf("%ld-%s-%d-%f\n",&s[i].num,s[i].name,&s[i].age,&s[i].score);
}
}
void stuSort(STU *ptr1)
{
struct stu *ptr = ptr1;
STU s1;
bzero(&s1,sizeof(s1));
for (int i = 0; i < N; i++)
{
for (ptr =ptr1; ptr != &ptr1[N]-1-i; ptr++)
{
if (ptr->num > (ptr+1)->num)
{
s1 = *ptr;
*ptr = *(ptr+1);
*(ptr+1) = s1;
}
}
}
}
void stuPrint(STU *s)
{
for (int i = 0; i < N; i++)
{
printf("%ld-%s-%d-%f\n",s[i].num,s[i].name,s[i].age,s[i].score);
}
}
