PTA 游戏玩家

题目描述

某游戏公司年末推出一款新游戏,共设置100层关卡,邀请游戏玩家们内测,根据到达关卡层级对玩家授予不同称号,并对获得神级玩家称号的玩家进行奖励,赠送高级游戏装备一套。已知到达关卡90-100的玩家授予神级玩家称号(S),到达关卡80-89的玩家授予牛级玩家称号(N),达到关卡70-79的玩家授予高级玩家称号(G),到达70以下关卡的授予普通玩家称号(C)。请你帮助该公司记录玩家称号,并统计能够获得高级游戏装备的玩家人数。

输入格式

输入为2行,第一行为一个正整数n(n<=10),代表玩家人数,随后n行,每行为一个玩家信息,包括玩家ID(长度为9的不带空格的数字串)、昵称(长度不超过20的不带空格的一串字符)、到达关卡层级数(大于等于0的整数且小于等于100的整数)。

输出格式

按照输入顺序输出所有玩家的等级信息,一个玩家信息占一行,包括玩家ID、昵称、称号,中间用一个空格分隔,随后一行输出能够获赠高级游戏装备的人数。

输入样例

在这里给出一组输入。例如:

00001 li 90
000002 zhang 79

输出样例

在这里给出相应的输出。例如:

000001 li S
000002 zhang G
1

 思路:

1.建立一个结构体,结构体中需要存放ID、昵称、层级、称号

2.主函数中用for循环输入

3.再用一个for循环给称号赋值(注意赋值时,需要加单引号表示字符字面量)

4.定义一个变量用于计数

5.当层级大于90时,计数变量累加

 代码:

#include<stdio.h>
struct st
{
    int id;
    char name[10];
    int layer;
    char title;
};
struct st ch[10];
int main()
{
    int n;
    scanf("%d",&n);
    int i;
    for(i=0;i<n;i++)
    {
        scanf("%d%s%d",&ch[i].id,&ch[i].name,&ch[i].layer);
    }
    int c=0;
    for(i=0;i<n;i++)
    {
        if(ch[i].layer>=90&&ch[i].layer<=100)
        {
            ch[i].title='S';
            c++;
        }
        else if(ch[i].layer>=80&&ch[i].layer<=89)
        {
            ch[i].title='N';
        }
        else if(ch[i].layer>=70&&ch[i].layer<=79)
        {
            ch[i].title='G';
        }
        else if(ch[i].layer<70)
        {
            ch[i].title='C';
        }
    }
    for(i=0;i<n;i++)
    {
        printf("%06d %s %c\n",ch[i].id,ch[i].name,ch[i].title);
    }
    printf("%d",c);
    return 0;
}

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值