C++程序设计 (第三版) 谭浩强 习题6.11
习题 6.11 在主函数中输入10个等长的字符串。用另一函数对它们排序。然后在主函数输出这10个已排好序的字符串。
IDE工具:VS2010
Note: 使用不同的IDE工具可能有部分差异。
代码块
#include <iostream>
#include <iomanip>
#include <string>
using namespace std;
const int N = 10;
void inputStr(string *str, int n){
cout<<"Enter "<<n<<" Strings: "<<endl;
for(int i = 0; i < n; i++){
cout<<"Enter No."<<i + 1<<" Strings: ";
cin>>str[i];
}
cout<<endl;
}
void ascendingSortStr(string *str, int n){
string temp;
for(int i = 0; i < n; i++){
for(int j = i + 1; j < n; j++){
if(str[i] > str[j]){
temp = str[i];
str[i] = str[j];
str[j] = temp;
}
}
}
}
void outputStr(string *str, int n){
for(int i = 0; i < n; i++){
cout<<str[i]<<" ";
}
cout<<endl<<endl;
}
int main(){
string *str = new string[N];
inputStr(str, N);
cout<<"Original Strings:"<<endl;
outputStr(str, N);
ascendingSortStr(str, N);
cout<<"After Sort:"<<endl;
outputStr(str, N);
system("pause");
return 0;
}