程序禁止使用全局变量
截屏规范,勿用手机拍照
代码缩进规范,每个功能段加注释
编程完成以下功能:
(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;
}