#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;
}
1 回答
- 1 回答
- 0 关注
- 1450 浏览
添加回答
举报
0/150
提交
取消