C++结构体之统计最高最低分
时间: 1ms 内存:128M
描述:
输入学生的姓名和成绩,统计出最高分的学生和最低分的学生。
输入:
输入5个学生的姓名和分数,用结构体完成
输出:
输出最高分的姓名和分数,最低分的姓名和分数
示例输入:
wang 98.8 li 67.9 zhang 56 lu 78.7 liu 70
示例输出:
MAX: wang 98.8
MIN: zhang 56
提示:
参考答案(内存最优[1092]):
#include<stdio.h>
struct information
{
char name[20];
double score;
};
int main ()
{
int i,j;
struct information student[5];
struct information temp={};
for (i=0;i<5;i++)
scanf("%s %lf",&student[i].name,&student[i].score);
for (i=0;i<5;i++)
for (j=i;j<5;j++)
{
if (student[i].score>student[j].score)
{ temp=student[i];
student[i]=student[j];
student[j]=temp;
}
}
printf ("MAX: %s %g\n",student[4].name,student[4].score);
printf ("MIN: %s %g\n",student[0].name,student[0].score);
}
参考答案(时间最优[0]):
#include <iostream>
using namespace std;
struct student
{
char name[20];//fgu
float score;
}stu[5];
int main()
{
int i,max=0,min=0;//cgyujfc
for(i=0;i<5;i++)
{ cin>>stu[i].name>>stu[i].score;
if(stu[i].score>stu[max].score)//sztat
max=i;
if(stu[i].score<stu[min].score)//fcyuj
min=i;
}
cout<<"MAX:"<<" "<<stu[max].name<<" "<<stu[max].score<<endl;
cout<<"MIN:"<<" "<<stu[min].name<<" "<<stu[min].score<<endl;
return 0;
}
题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。
