1 条题解
-
0
C :
#include<stdio.h> #include<string.h> struct student { int id; //学号 char name[20]; //姓名 double score[3]; //三门课成绩,取值在0.0-100.0 double aver; //平均成绩,保留两位小数 }a[100]; double average(struct student *p); void shuru(int n); int high(struct student *p, int n); int main() { int n, i, h; double b[100], c; struct student *p; p = a; scanf("%d", &n); shuru(n); for(i=0; i<n; i++) { a[i].aver = average((p+i)); } for(i=0; i<n; i++) { printf("%.2lf", a[i].aver); if(i<n-1) printf(" "); } printf("\n"); h = high(p,n); printf("%d %s %.1lf %.1lf %.1lf %.2lf", a[h].id, a[h].name, a[h].score[0], a[h].score[1], a[h].score[2], a[h].aver); } double average(struct student *p) { int i; double sum = 0.0; for(i=0; i<3; i++) { sum += p->score[i]; } return sum/3.0; } void shuru(int n) { int i; for(i=0; i<n; i++) { scanf("%d", &a[i].id); scanf("%s", a[i].name); scanf("%lf", &a[i].score[0]); scanf("%lf", &a[i].score[1]); scanf("%lf", &a[i].score[2]); } } int high(struct student *p, int n) { int i, highaver = 0; for(i=0; i<n;i++) { if((p+i)->aver > (p+highaver)->aver) highaver = i; } return highaver; }
C++ :
#include<stdio.h> #include<string.h> struct student { int id; //学号 char name[20]; //姓名 double score[3]; //三门课成绩,取值在0.0-100.0 double aver; //平均成绩,保留两位小数 }a[100]; double average(struct student *p); void shuru(int n); int high(struct student *p, int n); int main() { int n, i, h; double b[100], c; struct student *p; p = a; scanf("%d", &n); shuru(n); for(i=0; i<n; i++) { a[i].aver = average((p+i)); } for(i=0; i<n; i++) { printf("%.2lf", a[i].aver); if(i<n-1) printf(" "); } printf("\n"); h = high(p,n); printf("%d %s %.1lf %.1lf %.1lf %.2lf", a[h].id, a[h].name, a[h].score[0], a[h].score[1], a[h].score[2], a[h].aver); } double average(struct student *p) { int i; double sum = 0.0; for(i=0; i<3; i++) { sum += p->score[i]; } return sum/3.0; } void shuru(int n) { int i; for(i=0; i<n; i++) { scanf("%d", &a[i].id); scanf("%s", a[i].name); scanf("%lf", &a[i].score[0]); scanf("%lf", &a[i].score[1]); scanf("%lf", &a[i].score[2]); } } int high(struct student *p, int n) { int i, highaver = 0; for(i=0; i<n;i++) { if((p+i)->aver > (p+highaver)->aver) highaver = i; } return highaver; }
- 1
信息
- ID
- 1314
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者