谭浩强C++课后习题23——输出四边形图案,字符串排序
题目一:输出以下图案:
#include<iostream>
using namespace std;
int main() {
for (int i = 1;i <= 5;i++) {
for (int j = 1;j <= i;j++)
cout << ' ';
for (int j = 1;j <= 5;j++)
cout << '*' ;
cout << endl;
}
return 0;
}
运行结果:
题目二:输入n个字符串,将它们按字母由小到大的顺序排序并输出。
算法思路:冒泡排序,数据类型为string。
#include<iostream>
using namespace std;
void sort(string str[], int n) {
string temp;
for (int i = 0;i < n - 1;i++) {
for (int j = 0;j < n - i - 1;j++) {
if (str[j] > str[j + 1]) {
temp = str[j];
str[j] = str[j + 1];
str[j + 1] = temp;
}
}
}
}
int main() {
int n;
cout << "输入字符串个数:";
cin >> n;
string* str = new string[n];
for (int i = 0;i < n;i++) {
cout << "输入第" << i + 1 << "个字符串:";
cin >> str[i];
}
sort(str, n);
cout << "排序好:" << endl;
for (int i = 0;i < n;i++) {
cout << str[i] << endl;
}
return 0;
}
运行测试结果: