C.7

/*

//输出一个学生的所有信息

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 ;

};

    

    */


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值