使用函数和结构体,输入5名同学的基本信息(学号、姓名、性别、院系、成绩1,成绩2),判断输出总分最高的同学的信息。
代码如下,如有帮助,请采纳一下,谢谢。
#include <stdio.h>
struct Student
{
int nmb; //学号
char name[20]; //姓名
char sex; //m or w
char partment[20]; //院系
int score1; //成绩1
int score2; //成绩2
};
//输入学生信息
void inputInfo(struct Student* arr,int size)
{
int i = 0;
printf("请输入学生的学号、姓名、性别(w/m)、院系、成绩1、成绩2\n");
for ( i = 0; i < size; i++)
{
scanf("%d %s %c %s %d %d",&arr[i].nmb,arr[i].name,&arr[i].sex,arr[i].partment,&arr[i].score1,&arr[i].score2);
}
}
//qizui
void Max(struct Student* arr,int size)
{
int i;
int index = 0;
int mm = arr[0].score1 + arr[0].score2;
for (i = 1; i < size; i++)
{
if ( arr[i].score1 + arr[i].score2 > mm)
{
mm = arr[i].score1 + arr[i].score2 ;
index = i;
}
}
printf("最高分同学信息:%d %s %c %s %d %d\n",arr[index].nmb,arr[index].name,arr[index].sex,arr[index].partment, arr[index].score1,arr[index].score2);
}
int main()
{
struct Student arr[5];
inputInfo(arr,5);
Max(arr,5);
//getchar();
//getchar();
return 0;
}
#include <iostream>
#include <string>
using namespace std;
struct student{
string name;//可以自行设置名字
int score;
};
int main(){
student s[5];
int score_, sum = 0;
cout<<"请输入5位同学的分数:"<<endl;
for(int i = 0; i < 5; i ++){
cin>>score_;
s[i].score = score_;
sum += score_;
}
//aver = sum * 0.1 / 5 ;
int highest = s[0].score;
for(int j = 1; j < 5; j ++)
if(highest<s[j].score){
int temp = highest;
highest = s[j].score;
s[j].score = temp;
}
cout<<"总和:"<<sum<<endl<<"最高:"<<highest<<endl;
return 0;
}
#include<stdio.h>
typedef struct
{ int num;
char name[10];
float score[3];
double aver;
}student;
void inputs(student stu[])
{ int i,k;
for(i=0;i<2;i++)
{ printf(" 第%d个学生:",i+1);
scanf("%d%s",&stu[i].num,stu[i].name);/* 输入学生学号、姓名*/
printf("输入分数");
for(k=0;k<3;k++)
scanf("%f",&stu[i].score[k]); /*输入学生三门课的分数*/
}
}
void average( student stu[]) /*求学生的平均分*/
{ int i,k;
for(i=0;i<2;i++)
{ float sum=0.0;
for(k=0;k<3;k++)
sum+=stu[i].score[k];
stu[i].aver=sum/3;
}
}
void Printf( student stu[])/*输出学生信息*/
{ int i,k;
printf("输出执行结果:\n");
for(i=0;i<2;i++)
{
printf("\t第%d个学生:\t学号:%d \t姓名:%s\t分数:",i+1,stu[i].num ,stu[i].name);
for(k=0;k<3;k++)
printf("%g ",stu[i].score[k]);
printf("\t平均分:%g",stu[i].aver );
printf("\n");
}
}
void Max( student stu[])
{int i;
int max=0;
for(i=1;i<2;i++)
if(stu[max].aver <stu[i].aver )
max=i;
printf("%g\n",stu[max].aver );
}
void main()
{
student stu[2];
printf("输入数据:\n");
inputs(stu);
average(stu);
Printf(stu);
Max(stu);
}
#include<bits/stdc++.h>
using namespace std;
struct Student
{
string id, name, sex, faculty;
int m1, m2;
}typedef Student;
bool bigger(Student s1, Student s2)
{
int a = s1.m1+ s1.m2;
int b = s2.m1 + s2.m2;
return a>b;
}
int main()
{
vector<Student>studentList;
int n = 2;//有多少学生
for(int i =0;i<n;i++)
{
Student student;
cout<<"请输入学生信息:"<<endl;
cout<<"请输入学生学号:"<<endl;
cin>>student.id;
cout<<"请输入学生姓名:"<<endl;
cin>>student.name;
cout<<"请输入学生性别:"<<endl;
cin>>student.sex;
cout<<"请输入学生院系:"<<endl;
cin>>student.faculty;
cout<<"请输入学生成绩1:"<<endl;
cin>>student.m1;
cout<<"请输入学生成绩2:"<<endl;
cin>>student.m2;
studentList.push_back(student);
}
sort(studentList.begin(),studentList.end(),bigger);
cout<<studentList[0].name<<endl;
return 0;
}