继续给女朋友写题解QAQ
题目链接:https://vjudge.net/problem/UVA-490
题意:输入很多个字符串,就像一个二维的矩阵,将这个矩阵向右旋转90度后输出。
因为输入的字符串长短不一,所以先找出最大的字符串长度,给其它字符串补上空格,按照特定的遍历顺序输出即可。
#include <iostream> #include <string> #include <vector> using namespace std; int main() { vector<string>strings;//存储字符串 unsigned maxlen=0;//最长字符串长度 string s; while(getline(cin,s)) { strings.push_back(s); if(maxlen<s.length()) { maxlen=s.length(); } } for(unsigned i=0;i<strings.size();i++)//补空格 { int cnt=maxlen-strings[i].length(); string temp(cnt,' '); strings[i]+=temp; } for(unsigned i=0;i<maxlen;i++)//输出 { //for(unsigned j=0;j<strings.size()-1;j++) for(unsigned j=strings.size()-1;j>0;j--) { cout<<strings[j][i]; } cout<<strings[0][i]<<endl; } return 0; } /* Rene Decartes once said, "I think, therefore I am." */