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
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]));
|
|
|
|
} |