You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

56 lines
1.6 KiB

#include <stdio.h>
struct Data
{
int ID;
float score1;
float score2;
float score3;
} stu[1001];
int stl = 0;
float total(struct Data* a) {
return a->score1 + a->score2 + a->score3;
}
void swap(struct Data* a, struct Data* b) {
struct Data t = *a;
*a = *b;
*b = t;
}
void input1() {
scanf("%d", &stu[stl].ID);
scanf("%f", &stu[stl].score1);
scanf("%f", &stu[stl].score2);
scanf("%f", &stu[stl].score3);
stl++;
}
void Question1() {
printf("Please input info of three students:\n");
input1();input1();input1();
printf("%d %2.1f %2.1f %2.1f %.1f\n", stu[stl-3].ID, stu[stl-3].score1, stu[stl-3].score2, stu[stl-3].score3, total(&stu[stl-3]));
printf("%d %2.1f %2.1f %2.1f %.1f\n", stu[stl-2].ID, stu[stl-2].score1, stu[stl-2].score2, stu[stl-2].score3, total(&stu[stl-2]));
printf("%d %2.1f %2.1f %2.1f %.1f\n", stu[stl-1].ID, stu[stl-1].score1, stu[stl-1].score2, stu[stl-1].score3, total(&stu[stl-1]));
}
void Typein()
{
scanf("%d", &stu[stl].ID);
scanf("%f", &stu[stl].score1);
scanf("%f", &stu[stl].score2);
scanf("%f", &stu[stl].score3);
stl++;
}
int main() {
Typein();
Typein();
Typein();
printf("%d %2.1f %2.1f %2.1f %.1f\n", stu[stl-3].ID, stu[stl-3].score1, stu[stl-3].score2, stu[stl-3].score3, total(&stu[stl-3]));
printf("%d %2.1f %2.1f %2.1f %.1f\n", stu[stl-2].ID, stu[stl-2].score1, stu[stl-2].score2, stu[stl-2].score3, total(&stu[stl-2]));
printf("%d %2.1f %2.1f %2.1f %.1f\n", stu[stl-1].ID, stu[stl-1].score1, stu[stl-1].score2, stu[stl-1].score3, total(&stu[stl-1]));
}