UVa 1593代码对齐

原题链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=4468

这道题目的话可以使用iomanip这个头文件

 1 #include<iostream>
 2 #include<string>
 3 #include<sstream>
 4 #include<algorithm>
 5 #include<vector>
 6 #include<iomanip>
 7 using namespace std;
 8
 9 vector<string> code[1010];
10 int len[185];
11
12 int main()
13 {
14     //freopen("D:\\in.txt", "r", stdin);
15     int i = 0;
16     string s, buf;
17     while (getline(cin, s))
18     {
19         int t = 0;
20         stringstream ss(s);
21         while (ss >> buf)
22         {
23             len[t] = max((int)buf.length(), len[t]);
24             code[i].push_back(buf);
25             t++;
26         }
27         i++;
28     }
29     cout << setiosflags(ios::left);
30     for (int p = 0; p < i; p++)
31     {
32         int j = 0;
33         for (j; j < code[p].size() - 1; j++)
34         {
35             cout << setw(len[j] + 1) << code[p][j];
36         }
37         cout << code[p][j] << endl;
38     }
39     return 0;
40 }

在这个程序里所运用到的关于iomanip这个头文件的一些知识:

▲setw(n)用法: 通俗地讲就是预设宽度

如 cout<<setw(5)<<255<<endl;

结果是:

(空格)(空格)255

▲setfill(char c) 用法 : 就是在预设宽度中如果已存在没用完的宽度大小,则用设置的字符c填充

如 cout<<setfill(‘@‘)<<setw(5)<<255<<endl;

▲ setprecision用法

使用setprecision(n)可控制输出流显示浮点数的数字个数。C++默认的流输出数值有效位是6。

如果setprecision(n)与setiosflags(ios::fixed)合用,可以控制小数点右边的数字个数。setiosflags(ios::fixed)是用定点方式表示实数。

如果与setiosflags(ios::scientific)合用, 可以控制指数表示法的小数位数。setiosflags(ios::scientific)是用指数方式表示实数。

setiosflags(ios::fixed) 固定的浮点显示

setiosflags(ios::scientific) 指数表示

setiosflags(ios::left) 左对齐

setiosflags(ios::right) 右对齐

setiosflags(ios::skipws) 忽略前导空白

setiosflags(ios::uppercase) 16进制数大写输出

setiosflags(ios::lowercase) 16进制小写输出

setiosflags(ios::showpoint) 强制显示小数点

setiosflags(ios::showpos) 强制显示符号

2016-11-22  23:10:59

时间: 2024-10-11 00:49:08

UVa 1593代码对齐的相关文章

multi-cursor做代码对齐

.title { text-align: center; margin-bottom: .2em } .subtitle { text-align: center; font-size: medium; font-weight: bold; margin-top: 0 } .todo { font-family: monospace; color: red } .done { font-family: monospace; color: green } .priority { font-fami

VS中代码对齐等快捷键

在VS2008中,选定代码后,按Ctrl+K+F组合键,可以自动进行代码对齐. 注意:要先按下Ctrl和K,再按下F,因为Ctrl+F是查找的快捷键. 也可以先按下Ctrl+K,再按下Ctrl+F. 另外,可以在"工具->选项->文本编辑器->C/C++->制表符"选项卡中设置缩进选项. 英文版本的路径为:Tools->Options->Text Editor->C/C++->Tabs 注释选定代码:Ctrl+K+C 取消注释选定的代码:

vs code代码对齐快捷键

vscode缩进快捷键: 选中文本: Ctrl  +  [      和   Ctrl  +  ]     实现文本的向左移动或者向右移动: vscode代码对齐快捷键: 选中文本: Shift  +  Alt  + F     实现代码的对齐: 原文地址:https://www.cnblogs.com/jxst441192/p/9876342.html

UVa 1593 Alignment of Code(字符串)

题意  按要求对齐代码 字符串流的应用 #include <bits/stdc++.h> using namespace std; const int N = 1005, M = 200; string s[N][M], line; int cw[M], cn[N]; int main() { int r = 0, c = 0; while(getline(cin, line)) { stringstream ss(line); while(ss >> s[r][c]) { if(

XAlign:用于代码对齐的Xcode插件

除下面的插件对齐,xcode自带有cmd+v,在没有复制或者剪切的情况下,直接按cmd+v会有着对齐参数标签冒号的作用. XAlign 是一个 Xcode 的实用插件,用于对齐规范代码.除了插件作者 qfish 提供的 3 种对齐格式,还可以自定义任意你想要的格式. 示例 qfish 分享的 3 张示例图( Gif ),如下: 1. 按首个 = 对齐 2. 按宏定义群组对齐 3. 按属性群组对齐 安装 1. 自动安装 $ curl github.so/XAlign/build/install.s

uva-1593 代码对齐

题意如下: 输入若干行代码,要求各列单词的左边界对齐且尽量靠左. 单词之间至少要空一格.每个单词不超过80个字符, 每行不超过180个字符,一共最多1000行. 注意输出时每行的最后一列后面没有空格符. 代码如下:代码中有详细的注释! #include<iostream> #include<sstream> #include<string> #include<vector> using namespace std; vector<string>

sublime text2 配置代码对齐快捷键

menu under Preferences → Key Bindings – User [{"keys": ["ctrl+shift+r"], "command": "reindent" , "args": {"single_line": false}}] 保存马上生效,并且不需要选中代码,可以直接用命令ctrl+shift+r就能对齐代码了

UVa 1593 - Alignment of Code

题目描述 : 输入若干行代码,按照要求格式输出,.各列单词尽量靠左,单词之间至少要一个空格. 思路 : 利用字符串数组找规律.  只要控制好边界其他的都很简单.  连测试用例都没有用,因为UVa网页老刷不出来.直接交代码QuickSubmit,只是担心会超时,但结果令人意外,竟然是AC.再来两道吧.      对了 我又不好意思的用了正则表达式. 代码 : <p>import java.util.*; import java.util.regex.Matcher; import java.ut

UVA 1593: Alignment of Code(模拟 Grade D)

题意: 格式化代码.每个单词对齐,至少隔开一个空格. 思路: 模拟.求出每个单词最大长度,然后按行输出. 代码: #include <cstdio> #include <cstdlib> #include <cstring> char words[1200][190][90]; int maxLen[190]; char tmp[200]; typedef char * pchar; int readStr(pchar &str, char *out) { in