在度假 英语:"谁拿了最多奖学金" C程序求助,在线等答案

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/29 12:01:57
具体如何让电脑先读人的个数 在读信息呢 要不谁发个程序上来
4
YaoLin 87 82 Y N 0
ChenRuiyi 88 78 N Y 1
LiXin 92 88 N N 0
ZhangQin 83 87 Y N 1
一个文件的信息在上面 我如何让电脑用一个函数先读"4",再说下面的信息?

这是我写的C++代码
希望能被采纳,谢谢
你的这题目是NOIP的吧
我做过,现在我学NOI了

#include <iostream>
#define FOR(i,a,b) for(i=a;i<b;i++)
using namespace std;

struct Student
{
char name[21];
int m1,m2;
char c1,c2;
int p,total;
};

int main( void )
{
int n,i,totals(0),max(0);
cin >> n;
struct Student* team = new Student[n],* tmax ;
FOR(i,0,n) {
cin >> team[i].name
>> team[i].m1 >> team[i].m2
>> team[i].c1 >> team[i].c2
>> team[i].p;
team[i].total = 0;
}
FOR(i,0,n) {
if (team[i].m1 > 80 && team[i].p > 0) team[i].total += 800;
if (team[i].m1 > 85 && team[i].m2 > 80) team[i].total += 400;
if (team[i].m1 > 90) team[i].total += 200;
if (team[i].m1 > 85 && team[i].c2 == 'Y') team[i].total += 100;
if (team[i].m2 > 80 && team[i].c1 == 'Y') team[i].total += 85;
totals += team[i].total;
}
max = team[0].total; tmax = &team[0];
FOR(i,1,n) if (team[i].total > max)
{max = team[i].total ; tmax = &team[i]; }
cout << tmax -> name << endl
<< tmax -> total << '0' << endl
<< totals << '0' << endl;
totals = max = 0;
delete [] team;
}

不明白,看你库是怎么设计的了

你写的是什么呀,Y是什么,N又是什么