WLJ


私信TA

用户名:hputermux

访问量:15354

签 名:

等  级
排  名 609
经  验 4178
参赛次数 4
文章发表 43
年  龄 20
在职情况 学生
学  校 河南理工大学
专  业 计算机专业

  自我简介:

计算机科学与技术专业

TA的其他文章

题目链接:http://www.dotcpp.com/oj/problem1269.html


解题思路:简单的方法就是利用结构体,创建一个结构体数组,对其中的成员进行操作,然后比较即可

注意事项:对于数组要初始化,否则自增无意义

参考代码:

#include<stdio.h>

struct student

{

    char name[20];

    int aver;

    int py;

    char mon;

    char west;

    int paper;

};

int main()

{

    int i,T;

    int j;

    struct student stu[100];

    int sum_max[100]={0},sum_price = 0;

    int maxp;

    scanf("%d",&T);

    getchar();

    for(i = 0;i < T;i++)

    {

        scanf("%s",stu[i].name);

        scanf("%d %d",&stu[i].aver,&stu[i].py);

        getchar();

        stu[i].mon = getchar();

        getchar();

        stu[i].west=getchar();

        scanf("%d",&stu[i].paper);

        getchar();

    }

    for(i = 0;i < T;i++)

    {

        if(stu[i].aver>80&&stu[i].paper>=1)

            sum_max[i]+=8000;

        if(stu[i].aver>85&&stu[i].py>80)

            sum_max[i]+=4000;

        if(stu[i].aver>90)

            sum_max[i]+=2000;

        if(stu[i].aver>85&&stu[i].west=='Y')

            sum_max[i]+=1000;

        if(stu[i].py>80&&stu[i].mon=='Y')

            sum_max[i]+=850;

    }maxp = sum_max[0];

    for(i = 0;i < T;i++)

    {

        if(sum_max[i]>maxp)

        {

            maxp = sum_max[i];

            j = i;

        }

    }

    for(i = 0;i < T;i++)

    {

        sum_price+=sum_max[i];

    }

    printf("%s\n",stu[j].name);

    printf("%d\n",sum_max[j]);

    printf("%d\n",sum_price);

    return 0;

}

仅供参考,欢迎提建议!

 

0.0分

0 人评分

  评论区

  • «
  • »