过了ac 但是总感觉方法不是很好 贴程序求指点

#include

main()

{

int stunum;

cin>>stunum;

struct student

{

char name[20];

int score1,score2,lunwen,money;

char xibu,ganbu;

};

student no[stunum];

int i;

for(i=0;i>no[i].name>>no[i].score1>>no[i].score2>>no[i].ganbu>>no[i].xibu>>no[i].lunwen;no[i].money=0;

if(no[i].score1>80&&no[i].lunwen>=1)no[i].money+=8000;

if(no[i].score1>85&&no[i].score2>80)no[i].money+=4000;

if(no[i].score1>90)no[i].money+=2000;

if(no[i].score1>85&&no[i].xibu=='Y')no[i].money+=1000;

if(no[i].score2>80&&no[i].ganbu=='Y')no[i].money+=850;

}

char winname[20];

int winmoney=0,summoney=0;

for(i=0;iwinmoney)

{

winmoney=no[i].money;

strcpy(winname,no[i].name);

}}

cout

4 条评论

  • @ 2009-10-21 13:02:20

    这道题我主要想的是用了c++和c99才有的动态定义数组 那如果是c90以前没有

    动态定义数组这种方法就实现不了 所以我看下大家对c90以前的c实现这个思路的想法.个人感觉动态定义数组这个特性还是相当实用的说!

  • @ 2009-10-20 20:34:04

    老师的

    #include

    using namespace std;

    int main(){

    int i,j,n,qm,py,lw,prize,maxx=0;

    long total=0;

    char a[20],name[20],xb,gb;

    cin>>n;

    for(i=1;i>a>>qm>>py>>gb>>xb>>lw;

    prize=0;

    if((qm>80)&&(lw>0)) prize+=8000;

    if((qm>85)&&(py>80)) prize+=4000;

    if(qm>90) prize+=2000;

    if((qm>85)&&(xb=='Y')) prize+=1000;

    if((py>80)&&(gb=='Y')) prize+=850;

    total+=prize;

    if(prize>maxx){

    maxx=prize;

    for(j=0;j

  • @ 2009-10-20 16:59:45

    这个题C++的读入有无比的优越性

    Pascal会麻烦很多

  • @ 2009-10-20 16:31:52

    膜拜lz……

    我记得当时这题写了巨长巨长

  • 1

信息

ID
1001
难度
5
分类
模拟 点击显示
标签
递交数
39075
已通过
12714
通过率
33%
被复制
121
上传者