天天看點

UVa1593 字元串處理

注意最後一個單詞後面沒有空格,還有stringstream的用法

#include<iostream>
#include<cstring>
#include<cstdlib>
#include<cstdio>
#include<string>
#include<map>
#include<set>
#include<algorithm>
#include<vector>
#include<sstream>
using namespace std;

vector<string> code[1010];
int maxLength[200];

int main()
{
  int n=0;
  string line;
  memset (maxLength,0,sizeof (maxLength));
  while (getline (cin,line))
  {
	stringstream ss (line);
	string tempString;
	int i=0;
	while (ss>>tempString)
	{
	  code[n].push_back(tempString);
	  if (maxLength[i]<code[n][i].length ())
		maxLength[i]=code[n][i].length ();
	  ++i;
	}
	++n;
	//getchar ();
  }
  /*for (int i=0;i<n;i++){
	for (int j=0;j<code[i].size ();j++){
	  cout<<code[i][j]<<" ";
	}
	cout<<endl;
	}*/
  /*  for (int j=0;j<6;j++)
	cout<<maxLength[j]<<" ";
  printf ("\n");*/
  for (int j=0;j<n;j++){
	int lenR=code[j].size ();
	for (int k=0;k<lenR;k++){
	  int lenC=code[j][k].length ();
	  cout<<code[j][k];
	  if (k<lenR-1)
		for (int l=lenC;l<maxLength[k]+1;l++)
		  printf (" ");
	}
	printf ("\n");
  }
  return 0;
}
           

繼續閱讀