• 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
  • 相关阅读:
    git 备忘录
    模拟HTTP协议接收请求并返回信息
    微信公众号支付回调页面处理asp.net
    WinForm下判断文件和文件夹是否存在
    C# 如何判断ie版本号和获取注册表中的信息
    【转】GDI+中发生一般性错误的解决办法
    c# winform 获取当前程序运行根目录
    模拟按下某快捷键:keybd_event使用方法
    如何使用存储过程来实现分页功能
    用ASP.NET实现下载远程图片保存到本地的方法 保存抓取远程图片的方法
  • 原文地址:https://www.cnblogs.com/zyb993963526/p/6091584.html
Copyright © 2020-2023  润新知