我是靠谱客的博主 壮观枕头,最近开发中收集的这篇文章主要介绍PTA 古风排版 (20 分)队列方法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

古风排版 (20 分)
中国的古人写文字,是从右向左竖向排版的。本题就请你编写程序,把一段文字按古风排版。

输入格式:
输入在第一行给出一个正整数N(<100),是每一列的字符数。第二行给出一个长度不超过1000的非空字符串,以回车结束。

输出格式:
按古风格式排版给定的字符串,每列N个字符(除了最后一列可能不足N个)。

输入样例:

4
This is a test case

输出样例:

asa T
st ih
e tsi
ce s

解题思路:开1000个队列,每n个字符放到队列中,记录实际需要的队列数g,遍历n层,逆着每次弹出队列的第一个元素,如果队列为空则输出空格。
AC代码:

#include<bits/stdc++.h>
using namespace
std;
queue<char> Q[1001];
int main()
{
int n;
cin>>n;
getchar();
string a;
getline(cin,a);
int g=0;
int count=0;
for(int i=0;i<a.size();i++)
{
Q[g].push(a[i]);
count++;
if(count==n){
count=0;
g++;
}
}
if(count!=0)
g++;
for(int j=0;j<n;j++){
for(int i=g-1;i>=0;i--)
{
if(!Q[i].empty())
{
printf("%c",Q[i].front());
Q[i].pop();
}else
{
printf(" ");
}
}
cout<<endl;
}
}

最后

以上就是壮观枕头为你收集整理的PTA 古风排版 (20 分)队列方法的全部内容,希望文章能够帮你解决PTA 古风排版 (20 分)队列方法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(42)

评论列表共有 0 条评论

立即
投稿
返回
顶部