uva1593代码对齐
2017-10-09 21:20
344 查看
题目是要输入若干行代码,要求各列单词的左边界对齐且尽量靠左。单词之间至少要有空一格。每个单词不超过80个字符,每行不超过180个字符,一共1000多行
输入:
start: integer; // begins here
stop: integer; // ends here
s: string;
c: char; // temp
输出:
start: integer; // begins here
stop: integer; // ends here
s: string;
c: char; // temp
思路:先把单词一个个抽出来,然后记录下每个位置最长的单词,然后不足长度的加空格再输出,注意:最后一个单词没有空格
输出的话,就先将字符标准化,添加空格,使其和最长的字符位数相同。
输入:
start: integer; // begins here
stop: integer; // ends here
s: string;
c: char; // temp
输出:
start: integer; // begins here
stop: integer; // ends here
s: string;
c: char; // temp
思路:先把单词一个个抽出来,然后记录下每个位置最长的单词,然后不足长度的加空格再输出,注意:最后一个单词没有空格
输出的话,就先将字符标准化,添加空格,使其和最长的字符位数相同。
#include <set> #include <numeric> #include <cmath> #include <queue> #include <stack> #include <vector> #include <string> #include <cstdio> #include <cstdlib> #include <cstring> #include <iostream> #include <algorithm> #include <cctype> #include <string> #include <sstream> #include <map> #include <functional> using namespace std; typedef long long LL; #define REP(idx1,num1) for(int idx1=0;idx1<(num1);idx1++) string s[1100][2000]; int len[2000]; int len2[2000];//第i组有多少个单词 int main() { //freopen("/Users/user/Desktop/1.txt","r",stdin); memset(len,0,sizeof(len)); int i = 0; string tmp; while(getline(cin,tmp)) { stringstream ss(tmp); string tmp2; int cnt = 0;//第几个单词 while(ss >> tmp2) { //cout << tmp2 << endl; int len_tmp = tmp2.length(); len[cnt] = max(len[cnt],len_tmp+1); s[i][cnt++] = tmp2; } len2[i] = cnt; i++; } i--;//多少组 for(int l = 0; l <= i; l++)//第l组 { for(int j = 0; j < len2[l]; ++j)//第j个 { if(j == len2[l] -1) { cout <<s[l][j]; break; } string sss = s[l][j]; for(int m = s[l][j].size(); m < len[j]; m++) { sss += " "; } cout << sss; } cout << endl; } return 0; } 题目是要输入若干行代码,要求各列单词的左边界对齐且尽量靠左。单词之间至少要有空一格。每个单词不超过80个字符,每行不超过180个字符,一共1000多行 输入: start: integer; // begins here stop: integer; // ends here s: string; c: char; // temp 输出: start: integer; // begins here stop: integer; // ends here s: string; c: char; // temp 思路:先把单词一个个抽出来,然后记录下每个位置最长的单词,然后不足长度的加空格再输出,注意:最后一个单词没有空格 输出的话,就先将字符标准化,添加空格,使其和最长的字符位数相同。
相关文章推荐
- 代码对齐 - uva1593 - streamstring的用法
- 5-1 代码对齐 UVA1593
- uva-1593 代码对齐
- UVa 1593 Allgnment of Code 代码对齐
- UVa 1593代码对齐
- uva 1593 代码对齐
- uva 1593 代码对齐
- UVa 1593 Allgnment of Code代码对齐( 习题5-1)
- UVa 1593代码对齐
- Uva1593 代码对齐
- [UVa 1593] Alignment of Code 代码对齐
- Alignment of Code (代码对齐)UVA1593
- string的使用uva-1593 代码对齐
- UVA 1593 代码格式(stl)
- UVA1593 不定量不定长度单词,左对齐
- UVA - 1593 Alignment of Code 纯代码功底
- vs快捷键代码格式化或代码对齐名字
- uva12657纯双链模拟+白书代码(link函数是神器)
- UVA110模拟出Pascal的8个数字的排序代码插入式递归
- 100道动态规划——14 UVA 1412 Fund Management 从刘汝佳dalao的代码里学到了很多。。。。