求编程完整内容,要求能够运行

程序禁止使用全局变量
截屏规范,勿用手机拍照
代码缩进规范,每个功能段加注释

编程完成以下功能:
(1) 将自己学号后10个同学的学号(学号最后两位)存入数组(直接在程序中赋值,不用scanf读入),并将其逆序输 出(循环实现)。将第5个数与第9个数交换(用数组实现);将第6个数与第2个数交换(用指针实现)。
(2) 结构体数组实现以下功能:要求:定义一个有40个学生的结构体数组,对前3个学生(从自己开始数3个同学)的学 号、姓名(可用拼音)、成绩直接赋值(不要用scanf),计算三个同学平均成绩,并将3个学生的 数据在屏幕上输出 (要求使用循环语句)。
(3)附加要求:将求平均成绩功能用函数实现;
能不能给个程序

#include <stdio.h>

void swap(int nums[], int i, int j)
{
    int t = nums[i];
    nums[i] = nums[j];
    nums[j] = t;
}

void swap(int *a, int *b)
{
    int t = *a;
    *a = *b;
    *b = t;
}

int main()
{
    int nums[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
    for (int i = 9; i >= 0; i--)
        printf("%d ", nums[i]);
    swap(nums, 5, 9);
    swap(&nums[6], &nums[2]);
    return 0;
}
#include <stdio.h>

typedef struct Student_
{
    int number;
    char name[50];
    double score;
} Student;

double average_score(Student students[], int size)
{
    double sum = 0.0;
    for (int i = 0; i < size; i++)
        sum += students[i].score;
    return sum / size;
}

int main()
{
    Student students[] = {
        {1, "Zhang San", 86.5},
        {2, "Li Si", 89.0},
        {3, "Wang Wu", 92.0}};
    int size = sizeof(students) / sizeof(Student);
    printf("%6s%12s%8s\n", "Number", "Name", "Score");
    for (int i = 0; i < size; i++)
        printf("%6d%12s%8.1lf\n", students[i].number, students[i].name, students[i].score);
    printf("Average Score: %.1lf", average_score(students, size));
    return 0;
}