AcWing
  • 首页
  • 活动
  • 题库
  • 竞赛
  • 应用
  • 更多
    • 题解
    • 分享
    • 商店
    • 问答
    • 吐槽
  • App
  • 登录/注册

AcWing 4276. $\Huge$擅长C    原题链接    简单

作者: 作者的头像   fei0825 ,  2023-05-23 22:12:52 ,  所有人可见 ,  阅读 42


0


#include <iostream>
#include <cstring>
using namespace std;

const int N = 30;
char alp[N][10][10];

bool isCapital(const char& c){
    if( c>='A' && c<='Z' ) return true;
    return false;
}

void printWord(string t){
    for( int i=0; i<7; i++ ){
        for( int j=0; j<t.size(); j++ ){
            int k = t[j] - 'A';
            if( j ) printf(" ");
            printf("%s", alp[k][i]);
        }
        puts("");
    }
}

int main(){
    for( int i=0; i<26; i++ ){
        for( int j=0; j<7; j++ ){
            scanf("%s\n", alp[i][j]); //随手加'\n'吃换行
        }
    }
    string s;
    getline(cin, s);
    int n = s.size();
    bool f = false;
    for( int i=0; i<n; i++ ){
        if( !isCapital(s[i]) ) continue; //除了大写字母的都算作分隔符
        int j = i+1;
        while( j<n && isCapital(s[j]) ) j++;
        if( !f ) f=true; //是第一个单词
        else puts("");  
        printWord(s.substr(i, j-i));
        i = j;
    }
    return 0;
}

0 评论

你确定删除吗?

© 2018-2023 AcWing 版权所有  |  京ICP备17053197号-1
用户协议  |  隐私政策  |  常见问题  |  联系我们
AcWing
请输入登录信息
更多登录方式: 微信图标 qq图标 qq图标
请输入绑定的邮箱地址
请输入注册信息