zoukankan      html  css  js  c++  java
  • 算法习题---5-1代码对齐(UVa1593)

    一:题目

    将不规范的若干行代码进行对齐。对齐按照最长字符串进行操作。见样例输入

    (一)样例输入

    ␣␣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   
    按照每列最长字符串空一格对齐

    二:代码实现

    #define _CRT_SECURE_NO_WARNINGS
    #include <iostream>
    #include <iomanip>
    #include <vector>
    #include <string>
    #include <sstream>
    
    #define MAX_LINES 1000
    #define MAX_LEN 180
    
    using namespace std;
    
    int main()
    {
        FILE* fp = freopen("data5_1_h.in", "r", stdin);
        freopen("data5_1_h.out", "w", stdout);
        //收集代码信息
        int n = 0;
        string code,single_c;
        vector<string> codes[MAX_LINES];
        int code_max_len[MAX_LEN] = { 0 };
    
        //进行信息获取
        while (!feof(fp))
        {
            getline(cin, code);
            stringstream ss(code);
            int i = 0;
    
            while (ss>>single_c)
            {
                codes[n].push_back(single_c);
                code_max_len[i] > single_c.length() ? i++ : code_max_len[i++] = single_c.length() + 1;
            }
            n++;
        }
    
        //进行信息打印
        for (int i = 0; i <= n; i++)
        {
            int j = 0;
            for (vector<string>::iterator it = codes[i].begin(); it != codes[i].end(); it++,j++)
            {
                cout << setw(code_max_len[j])<<setiosflags(ios::left)<< *it;
            }
            cout << endl;
        }
        freopen("CON", "r", stdin);
        freopen("CON", "w", stdout);
        return 0;
    }
  • 相关阅读:
    I.MX6 Surfaceflinger 机制
    理解 Android Fragment
    RPi 2B DDNS 动态域名
    RPi 2B IPC webcam server
    理解 Android MVP 开发模式
    I.MX6 system.img unpack repack
    can't set android permissions
    VMware Ubuntu 共享文件夹
    解决oracle数据库连接不上的问题
    perfect-scrollbar示例
  • 原文地址:https://www.cnblogs.com/ssyfj/p/11528906.html
Copyright © 2011-2022 走看看