[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;
}
posted @   Luvwgyx  阅读(342)  评论(0编辑  收藏  举报
编辑推荐:
· 用 C# 插值字符串处理器写一个 sscanf
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· C# 深度学习:对抗生成网络(GAN)训练头像生成模型
阅读排行:
· 趁着过年的时候手搓了一个低代码框架
· 本地部署DeepSeek后,没有好看的交互界面怎么行!
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
· 乌龟冬眠箱湿度监控系统和AI辅助建议功能的实现
点击右上角即可分享
微信分享提示