學生管理系統(臨時儲存)

//freopen("hao.in","r",stdin);
//atoi(s[i].c_str());
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<algorithm>
#include<queue>
#define FOR(i,l,r) for(int i=l;i<=r;i++)
using namespace std;
const int N = 2;
struct Student
{
	char xuehao[30];
	char name[20];
	int chinese;
	int math;
	int english;
	double average;
}student[N+20];
void init()
{
	FOR(i,1,N)
	{
		//printf("請輸入第%d個學生的信息:學號,姓名,語文,數學,英語:\n",i);
		scanf("%s%s%d%d%d",student[i].xuehao,student[i].name,&student[i].chinese,&student[i].math,&student[i].english);
	}
}
void run(int n)
{
	if(n>N)
		return;
	else
		run(n+1);
		
	student[n].average=(student[n].chinese+student[n].math+student[n].english)/3.0;
}
bool cmp(Student a,Student b)
{
	return a.average>b.average;
}
void output()
{
	printf("Everyone:\n");
	printf("編號    姓名    學號   平均分   語文    數學    英語\n");
	FOR(i,1,N)
	{
		printf("%d    %s    %s    %d     %d     %d     %.1lf\n",i,student[i].name,student[i].xuehao,student[i].chinese,student[i].math,student[i].english,student[i].average);
	}
}
int main()
{
	freopen("hao.in","r",stdin);
	init();
	run(1);
	sort(student+1,student+N+1,cmp);
	printf("high_score student is:\n");
	printf("姓名    學號   平均分   語文    數學    英語\n");
	printf("%s    %s     %.1lf     %d    %d      %d\n",student[1].name,student[1].xuehao,student[1].average,student[1].chinese,student[1].math,student[1].english);
	output();
	return 0;
}
999 haoyuxin 100 99 98
666 wangyifan 66 66 66

high_score student is:
姓名    學號   平均分   語文    數學    英語
haoyuxin    999     99.0     100    99      98
Everyone:
編號    姓名    學號   平均分   語文    數學    英語
1    haoyuxin    999    100     99     98     99.0
2    wangyifan    666    66     66     66     66.0

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章