代码对齐
2015-01-23 20:38
106 查看
题目描述:输入若干行代码,要求各列单词的左边界对齐且尽量靠左。单词之间至少要空一格。每个单词不超过80个字符,每行不超过180个字符,一共最多1000行,样例输入与输出如下:
输入:
start: integer; // begin here
stop: integer; // ends here
s: string;
c: char; // temp
输出:
start: integer; // begin here
stop: integer; // ends here
s: string;
c: char; // temp
代码比较简单,如下(vs2012运行通过):
输入:
start: integer; // begin here
stop: integer; // ends here
s: string;
c: char; // temp
输出:
start: integer; // begin here
stop: integer; // ends here
s: string;
c: char; // temp
代码比较简单,如下(vs2012运行通过):
// 1593.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include <iostream> #include <string> #include <sstream> #include <fstream> #include <vector> using namespace std; void getIndexOfSize(vector<vector<string>> v ,vector<int> &num,int n) { for(int i=0;i<n;i++) { int temp = 0; for(int j=0;j<v.size();j++) { if(i<v[j].size()) { if(v[j][i].size()>temp) { temp = v[j][i].size(); } } } num.push_back(temp); } } int _tmain(int argc, _TCHAR* argv[]) { string str ; ifstream in("data.txt"); ofstream out("output.txt"); vector<vector<string>> data; vector<int> size; int max_size = 0 ; while (getline(in,str)) { string buf; vector<string> vec; stringstream ss(str); while(ss>>buf) { vec.push_back(buf); } if(vec.size()>max_size) { max_size = vec.size(); } data.push_back(vec); } getIndexOfSize(data,size,max_size); for(int i = 0;i<data.size();i++) { for(int j=0;j<data[i].size();j++) { out<<data[i][j]; if(j!=data[i].size()-1) { for(int m=0;m<size[j]-data[i][j].size()+1;m++) { out<<" "; } } } out<<endl; } return 0; }
相关文章推荐
- 写了一个字符串截取一定长度的代码,中文两个字符,英文一个字符,如果截断了自动用一个.或两个.来对齐,用于标题的显示
- 让网页框架透明 底部对齐的代码
- css 非表格垂直对齐效果代码
- Flex builder 中代码格式化 ---代码排版,自动对齐。
- VS2008中使代码对齐的快捷键
- 解决redhat上zend studio代码{/}不对齐
- 用CSS实现文本左右对齐且首行缩进的代码
- 让 UILabel 垂直方向顶端对齐的代码
- 如何对齐零乱的代码
- 让网页框架透明 底部对齐的代码
- winForm画面缩放的代码,实现控件缩放,字体缩放,labe右对齐,datagridview字体缩放
- css 非表格垂直对齐效果代码
- VS2008 代码对齐 快捷键
- inventor中平面对齐装配VBA代码
- 实现表单对齐样式的一段示例代码
- 字节对齐的一段代码
- 手工实现字节对齐 及 代码质量思考
- VS2008 (vc2008)对齐代码
- Source insight代码对齐
- VS2008 对齐代码