[UVa 1593] Alignment of Code 代码对齐
题意简述:输入若干行代码,要求各列单词的左边界对齐且尽量靠左。单词之间至少要空一格。每个单词不超过80个字符,每行不超过180个字符,一共最多1000行。
code:
#include<bits/stdc++.h>
using namespace std;
int Max[200];
vector<string> s[1010];
int read(){
int x=0,f=1;char ch=getchar();
for(;ch<'0'||ch>'9';ch=getchar())if(ch=='-')f=-1;
for(;ch>='0'&&ch<='9';ch=getchar())x=(x<<1)+(x<<3)+ch-'0';
return x*f;
}
int main(){
int n=0;string ss,buf;
while(getline(cin,ss)){
int t=0;
stringstream S(ss);
while(S>>buf){
Max[t]=max((int)buf.length(),Max[t]);//将每一列的长度
//最长的单词大小保存下来
s[n].push_back(buf);//将当前的单词加入向量中储存
t++;
}
n++;
}
cout<<setiosflags(ios::left);//将输出格式定义为左对齐输出
for(int i=0;i<n;i++){
int j=0;
for(j;j<s[i].size()-1;j++)
cout<<setw(Max[j]+1)<<s[i][j];//setw()将括号里的
//参数的大小
//作为输出的值占的位置大小
cout<<s[i][j]<<endl;
}
return 0;
}
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 用 C# 插值字符串处理器写一个 sscanf
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· C# 深度学习:对抗生成网络(GAN)训练头像生成模型
· 趁着过年的时候手搓了一个低代码框架
· 本地部署DeepSeek后,没有好看的交互界面怎么行!
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
· 乌龟冬眠箱湿度监控系统和AI辅助建议功能的实现