• UVA


    /*
      这题的收获 or 技巧 or 注意点 or 说明
      1. getline函数读取整行
      
      2. 流输入stringstream
      
      3. string的size函数、length函数的返回类型都是size_type类型,在使用返回值之前,务必先进行强制类型转换
      
      4. 此题有个坑点,每行的最后一列的单词,后面是没有空行的,直接回车,因此,要将最后一列的输出单独拿出来处理,而其他的就可以一起在循环里输出了
    
      5. 这题可以运用C++输入输出的格式控制,不过也可以不用,直接循环输出也行,solve()1和solve2()函数任意调用一个,都可AC
    */



    #include <bits/stdc++.h>
    using namespace std;
    const int maxn = 1005;
    const int maxm = 200;
    vector<string> a[maxn];
    int len[maxm];
    int row, col;
    
    void solve1();
    void solve2();
    
    int main()
    {
    	string s, str;
    	row = col = 0;
    	while (getline(cin, str))
    	{
    		stringstream ss(str);
    		while (ss >> s)
    		{
    			len[col] = max(len[col], (int)s.size());
    			a[row].push_back(s);
    			col++;
    		}
    		row++; col = 0;
    	}
    	
    //	solve1();
    	solve2();
    	
    	return 0;
    }
    
    void solve1()
    {
    	int i, j;
    	cout << setiosflags(ios::left);
    	for (i = 0; i < row; i++)
    	{
    		for (j = 0; j < (int)a[i].size() - 1; j++)
    		cout << setw(len[j] + 1) << a[i][j];
    		
    		cout << a[i][j] << endl;
    	}
    }
    
    void solve2()
    {
    	int i, j, k;
    	for (i = 0; i < row; i++)
    	{
    		for (j = 0; j < (int)a[i].size() - 1; j++)
    		{
    			for ( k = 0; k < (int)a[i][j].size(); k++)
    			cout << a[i][j][k];
    			
    			for (k = 0; k <= len[j] - (int)a[i][j].size(); k++)
    			cout << ' ';
    		}
    		
    		cout << a[i][j] << endl;
    	}
    	
    }


  • 相关阅读:
    JVM垃圾收集器以及内存分配
    VisualVM工具的使用
    jstack的使用
    内存溢出的定位与分析
    JVM的内存模型
    JVM运行参数
    kafka-高效读写数据+zookeeper作用+事务
    重定向机制
    HTTP协议、时间戳
    TCP常见面试题 
  • 原文地址:https://www.cnblogs.com/mofushaohua/p/7789434.html
Copyright © 2020-2023  润新知