PAT 乙级 7-4 擅长C (20分)

博客介绍了PAT乙级题目的解题思路,重点在于将输入的句子以横版形式输出,每行输出每个字母的特定部分。通过建立string数组存储输入,分割单词,并使用公式计算每个字母的输出位置。难点在于处理换行,区分单个词与多个词的不同换行情况。代码可能未完全通过测试用例。
摘要由CSDN通过智能技术生成

这里我就不发题目了,相信检索到的同学都是从PTA来的

这里就说一下思路

首先建立一个string数组去存储输入。然后把输入的句子分割成单词。然后以单词为单位,逐个输出对应的形式。
因为题目要求我们横着输出,因此我们需要一行一行的输出(每个字母7行),比如 我们需要输出HELLO,那么第一行就应该是 H、E、L、L、O这几个字母的第一行字符串以空格分隔 。因为开头我们已经读取了每个字母的
以输出字母B为例 (‘B’-’A’)*7+i (i是行数)循环i次就是目标输出。假设有多个字母就循环多次。

比较麻烦的是换行,有两个地方需要换行,一个是每行字符串之间,另一个是每个单词之间。因此我选择分情况,如果只有一个词,那么第二种换行情况不考虑。如果有多个词,那么在输出最后一个词时忽略换行。

(本代码不一定AC 因为我考试的时候没有AC,这个是考完改的)

#include <iostream>
#include <vector>
#include <string>
#include <cctype>
using namespace std;

int main(){
   
    string ABC[200];
    for(int i=0;i<182;i++){
   
        cin>>ABC[i];
        
    }
    
    string word;
    cin>>word;
    string vab[1000];
    string ci
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李烟云

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值