在不确定用户会输入多少字符串的情况下,如何从键盘输入多个字符串并进行大小比较?
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;
}
觉得有用的话采纳一下哈