外星代码

今天比赛做了一道很简单的基础语法水题,因为好久没用结构体+string类型,竟错了两遍,警醒自己应温故知新。

题目描述

小明发现了一个外星文明,作为翻译官,拿到了一份外星球语言与外星语言的单词对照表,现在有个外星球的句子,需要翻译成外星语言发送给外星人。

输入

第一行两个整数n和m,表示单词对照表单词对数和需翻译句子的单词数
随后n行,每行两个字符串,第一个表示外星球的单词,第二个表示与其对应外星语言的单词
最后一行有m个单词,表示需翻译的外星球语言的句子,每个单词之间有一个空格
1<=n,m<=10000

输出

一行表示翻译成外星语言的句子,每个单词之间一个空格,若从对照表中查不到某单词,则输出与单词相同长度的 “*”
每个单词长度<15

样例输入

5 4
abc asd
hjk dfgr
sd dengd
koi miu
ssd hhd
hjk aaa ssd abc

样例输出

dfgr *** hhd asd

解题思路(个人)

注意:(都是一些简单的语法问题)
用一个结构体存储字符串,用c++中string类型声明字符串,这里需要注意的是结构体成员的输入和调用方式,以及string类型中一些常用函数的使用。

AC代码

#include <algorithm>
#include <iostream>
#include <string>
using namespace std;
const int N=10010;
struct qq
{
    string a[N];
    string b[N];
    string s[N];
}qq;

int main()
{
    int n,m;
    cin>>n>>m;
    for(int i=1;i<=n;i++)
        cin>>qq.a[i]>>qq.b[i];  //注意结构体成员的输入方式
    for(int i=1;i<=m;i++)
        cin>>qq.s[i];
    for(int i=1;i<=m;i++)
    {
        int t=0;
        int f=qq.s[i].size();   //size()函数可计算字符串中字母个数
        for(int j=1;j<=n;j++)
        {
            if(qq.s[i]==qq.a[j])  //string类型字符串可直接进行比较
            {
                t=1;
                cout<<qq.b[j];
                break;
            }
        }
        if(t==0)
        {
            for(int i=1;i<=f;i++)
            {
                cout<<"*";
            }
        }
        cout<<" ";
    }
    return 0;
}

### Python 编写外星人大战游戏源码示例 为了展示如何使用 `Python` 和 `Pygame` 创建一个简单的外星人大战游戏,下面提供了一个简化版的游戏框架。此代码片段展示了基本结构以及如何集成 `GameStats` 类来管理游戏统计信息。 #### 导入必要的模块并初始化 Pygame ```python import sys import pygame from settings import Settings from ship import Ship from alien import Alien from game_stats import GameStats # 加载用于跟踪游戏状态的类[^1] def run_game(): """ 初始化游戏 """ pygame.init() ai_settings = Settings() screen = pygame.display.set_mode( (ai_settings.screen_width, ai_settings.screen_height)) pygame.display.set_caption("Alien Invasion") stats = GameStats(ai_settings) # 创建存储游戏统计信息的实例 ship = Ship(ai_settings, screen) aliens = pygame.sprite.Group() while True: check_events(ship) if stats.game_active: # 只有当游戏处于活动状态时才更新对象位置 ship.update() update_aliens(aliens) update_screen(ai_settings, screen, ship, aliens) def check_events(ship): """ 响应按键和鼠标事件 """ for event in pygame.event.get(): if event.type == pygame.QUIT: sys.exit() elif event.type == pygame.KEYDOWN: check_keydown_events(event, ship) elif event.type == pygame.KEYUP: check_keyup_events(event, ship) def check_keydown_events(event, ship): """ 响应按下键 """ if event.key == pygame.K_RIGHT: ship.moving_right = True elif event.key == pygame.K_LEFT: ship.moving_left = True def check_keyup_events(event, ship): """ 响应松开键 """ if event.key == pygame.K_RIGHT: ship.moving_right = False elif event.key == pygame.K_LEFT: ship.moving_left = False def update_aliens(aliens): """ 更新外星人群中所有外星人的位置 """ aliens.update() def update_screen(ai_settings, screen, ship, aliens): """ 更新屏幕上的图像,并切换到新屏幕 """ screen.fill(ai_settings.bg_color) for bullet in bullets.sprites(): bullet.draw_bullet() ship.blitme() aliens.draw(screen) pygame.display.flip() ``` 这段代码实现了基础功能,包括设置窗口大小、加载飞船图片、监听键盘输入控制飞船移动方向等功能。通过引入 `GameStats` 来追踪玩家的生命次数和其他重要数据。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值