/*
//输出一个学生的所有信息
void pSt(Stu student) {
printf("name: %s score: %d age: %d", student.name, student.score, student.age);
}
//输出所有学生的信息
void pASt(Stu student[], int count) {
for (int i = 0; i < count; i ++) {
pSt(student[i]);
printf("\n");
}
}
//编程按学生的成绩升序排序
void rStS(Stu student[], int count) {
for (int i = 0 ; i < count - 1; i ++) {
for (int j = 0; j < count - 1 - i; j ++) {
if (student[j].score > student[j + 1].score) {
Stu temp = {0};
temp = student[j];
student[j] = student[j + 1];
student[j + 1] = temp;
}
}
}
pASt(student, count);
}
//按学生的姓名降序排序
void rStN(Stu student[], int count) {
for (int i = 0; i < count - 1; i ++) {
for (int j = 0; j < count - 1 - i; j ++) {
if (student[j].name < student[j + 1].name) {
Stu temp = {0};
temp = student[j];
student[j] = student[j + 1];
student[j + 1] = temp;
}
}
}
pASt(student, count);
}
//按学生的姓名降序排序,按年龄从低到高排序
void rStA(Stu student[], int count) {
for (int i = 0; i < count - 1; i ++) {
for (int j = 0; j < count - 1 - i; j ++) {
if (student[j].age > student[j + 1].age) {
Stu temp = {0};
temp = student[j];
student[j] = student[j + 1];
student[j + 1] = temp;
}
}
}
pASt(student, count);
}
//输出年月日
void printDate(Date date) {
printf("%d %d %d", date.year, date.month, date.day);
}
//计算该日在本年中为第几天?要求写一个days函数
int day = 0;
int days(Date date) {
if (date.year % 400 == 0 || (date.year % 4 == 0 && date.year % 100 != 0)) {
switch (date.month) {
case 1:
day = date.day;
break;
case 2:
day = 31 + date.day;
break;
case 3:
day = 31 + 29 + date.day;
break;
case 4:
day = 31 + 29 + 31 + date.day;
break;
case 5:
day = 31 * 2 + 29 + 30 + date.day;
break;
case 6:
day = 31 * 3 + 29 + 30 + date.day;
break;
case 7:
day = 31 * 3 + 29 + 30 * 2 + date.day;
break;
case 8:
day = 31 * 4 + 29 + 30 * 2 + date.day;
break;
case 9:
day = 30 * 5 + 29 + 30 * 2 + date.day;
break;
case 10:
day = 30 * 5 + 29 + 30 * 3 + date.day;
break;
case 11:
day = 30 * 6 + 29 + 30 * 3 + date.day;
break;
case 12:
day = 30 * 6 + 29 + 30 * 4 + date.day;
break;
default:
break;
}
} else {
switch (date.month) {
case 1:
day = date.day;
break;
case 2:
day = 31 + date.day;
break;
case 3:
day = 31 + 28 + date.day;
break;
case 4:
day = 31 + 28 + 31 + date.day;
break;
case 5:
day = 31 * 2 + 28 + 30 + date.day;
break;
case 6:
day = 31 * 3 + 28 + 30 + date.day;
break;
case 7:
day = 31 * 3 + 28 + 30 * 2 + date.day;
break;
case 8:
day = 31 * 4 + 28 + 30 * 2 + date.day;
break;
case 9:
day = 30 * 5 + 28 + 30 * 2 + date.day;
break;
case 10:
day = 30 * 5 + 28 + 30 * 3 + date.day;
break;
case 11:
day = 30 * 6 + 28 + 30 * 3 + date.day;
break;
case 12:
day = 30 * 6 + 28 + 30 * 4 + date.day;
break;
default:
printf("输入错误");
break;
}
}
return day;
}
//计算该日在本年中为第几天?要求写一个days函数(改进)
int days(Date date) {
int day = 0;
if (date.month == 1) {
day = date.day;
}
while (date.month > 1) {
date.month --;
switch (date.month) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
day = day + 31 + date.day;
break;
case 4:
case 6:
case 9:
case 11:
day = day + 30 + date.day;
break;
case 2:
if (date.year % 400 == 0 || (date.year % 4 == 0 && date.year % 100 != 0)) {
day = 29 + day + date.day;
} else {
day = 28 + day + date.day;
}
default:
break;
}
}
return day ;
};
*/