首页 > 其他 > 详细

代码对齐 (Alignment of Code,ACM/ICPC NEERC 2010,UVa1593)

时间:2018-08-18 00:13:01      阅读:227      评论:0      收藏:0      [点我收藏+]

题目描述:

技术分享图片

 

解题思路:

 输入时提出单个字符串,并用一个数组记录每列最长长度,格式化输出

 1 #include <iostream>
 2 #include <algorithm>
 3 #include <string>
 4 #include <sstream> 
 5 #include <vector>
 6 using namespace std;
 7 
 8 vector<string> words[1005] ;
 9 int lmax[255] ;
10 int main(int argc, char *argv[])
11 {
12     string buf,str ;
13     int k=0,i=0;
14     while(getline(cin,str)){
15         stringstream ss(str) ;
16         while(ss >> buf){
17             int len = buf.size() ;
18             lmax[k] = max(lmax[k],len) ;    // 每列最长字符
19             words[i].push_back(buf) ;    
20             k++ ;
21         }
22         i++ ; 
23     }
24     for(int j = 0; j<i; j++)
25     {
26         for(int k = 0; k<words[j].size(); k++)
27         {
28             cout << words[j][k];
29             if(k==words[i].size()-1)
30                 break;
31             int siz = (int)words[j][k].size();
32             for(int l = 0; l < lmax[k]-siz; l++)
33                 cout << " ";
34             cout << " ";
35         }
36         cout << endl;
37     }
38     return 0;
39 }

 

代码对齐 (Alignment of Code,ACM/ICPC NEERC 2010,UVa1593)

原文:https://www.cnblogs.com/secoding/p/9495611.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!