#include <stdio.h> #include <stdlib.h> /*************************************************************************************** 题目描述 从键盘输入一个班级的学生信息,包括学号、姓名和成绩,人数不超过10人,要求输出成绩最高者的全部信息。 输入描述 第一行先输入学生的数量,其后每三行分别输入学生的学号、姓名和成绩,即每行只接受学生的一项信息 输出描述 请按照以下格式字符串输出平均分和成绩最高的同学的信息 "The average score=%.2f\n" "The student who has the highest score is:%s %s %d" 样例输入1: 3 1 Hangsan 86 2 Lisi 84 3 Wanger 93 样例输出1: The average score=87.67 The student who has the highest score is:3 wanger 93 ******************************************************************************/ int i=0; void shuruxinxi(int *xuehao,char *name,double *mark,int num)//对于多个字符串的,定义、输入、输出存在疑问? { for(;i<num;i++) { scanf("%d",&xuehao[i]); scanf("%s",&name[i]);//比如name怎么实现多个名字的存储? scanf("%lf",&mark[i]); } } void chulixinxi(int num,double *mark,int *xuehao,char *name) { int max=0; double ave; double sum=0; for(;i<num;i++) { sum+=mark[i]; } ave=(double)sum/num; for(i=0;i<num;i++) { if(mark[i]>mark[max]) max=i; } printf("The average score=%.2f\n",ave); printf("The student who has the highest score is:%s %s %d",xuehao[max],name[max],mark[max]); } int main() { int num; scanf("%d",&num); int *xuehao[20]; char *name[num][20]; double *mark[20]; shuruxinxi(*xuehao,(*name)[20],*mark,num); chulixinxi(num,*mark,*xuehao,(*name)[20]); return 0; }
相关分类