C++怎么从键盘输入多个字符串

在不确定用户会输入多少字符串的情况下,如何从键盘输入多个字符串并进行大小比较?


do{
scanf("%d",&num);
}while((ch=getchar())!='\n');

#include<iostream>
#include<string>
#include<vector>

using namespace std;

int main()
{
    int n = 0;
    cout<<"输入字符串个数n:"<<endl;
    cin >> n;
    
    cout<<"输入字符串:"<<endl;
    vector<string> str;
    str.resize(n);
    
    for (size_t i = 0; i < n; i++)
        cin >> str[i];//从键盘输入n个字符串
    
    for(size_t i=0;i<n-1;i++)//比较的趟数
    {
        for(size_t j=0;j<n-1-i;j++)//每趟比较的次数
        {
            if (str[j] > str[j + 1])
            {
                t = str[j];
                str[j] = str[j + 1];
                str[j + 1] = t;
            }
        }    
    }
    
    cout<<"比较后的字符串依次为:"<<endl;    
    for (i = 0; i < n; i++)
        cout << str[i] << "   ";
    return 0;
}
#include<iostream>
#include<cstring>
using namespace std;
char a[200][200],t[200];
int main() {

    int n=0;
    while(cin.getline(a[n++],200));
    for(int i=0; i<n; i++) {
        for(int j=0; j<n-i-1; j++) {
            if(strcmp(a[j],a[j+1])>0) {
                strcpy(t,a[j]);
                strcpy(a[j],a[j+1]);
                strcpy(a[j+1],t);
            }
        }
    }
    for(int i=0;i<n;i++){
        cout<<a[i]<<endl;
    }
    return 0;
}


 觉得有用的话采纳一下哈