目录
1.任意读入10个不同的整数,存放到数组a中,然后交换其中的最大数和最小数,并输出最终结果。
3.任意读入3个不同的字符串,将最大串与最小串连接后输出,同时输出连接后的串长。
4.任意读入一个字符串,统计其中大写字母出现的总次数。例如读入:“I love China!”,输出:2。
5.【编程题】任意读入10个整数,将它们升序排列后输出。请分别用“选择法”和“选择法变型”两种方法完成。
6.【完善题】任意读入一个整数x,使用折半法在升序数组a中查找是否有与x等值的元素。
7.【完善题】将任意读入的整数x插入一升序数列后,数列仍按升序排列。
1.任意读入10个不同的整数,存放到数组a中,然后交换其中的最大数和最小数,并输出最终结果。
#include <iostream>
using namespace std;
void swap(int* arr, int size)
{
int minindex = 0;
int maxindex = 0;
for (int i = 1; i < size; i++) {
if (arr[i] < arr[minindex])
minindex = i;
if (arr[i] > arr[maxindex])
maxindex = i;
}
int tem = arr[minindex];
arr[minindex] = arr[maxindex];
arr[maxindex] = tem;
}
int main()
{
const int size = 10;
int a[size];
for (int i = 0; i < size; i++) {
cin >> a[i];
}
swap(a, size);
for (int i = 0; i < size; i++) {
cout << a[i] << " ";
}
cout <<endl;
return 0;
}
2.任意读入一个字符串,判断其中是否有空格符。
#include <iostream>
#include <string>
using namespace std;
bool Space(const string& str) {
for (char ch : str) {
if (ch == ' ') {
return true;
}
}
return false;
}
int main() {
string input;
cout << "请输入一个字符串:";
getline(cin, input);
if (Space(input)) {
cout << "字符串中包含空格符。" << endl;
}
else {
cout << "字符串中不包含空格符。" << endl;
}
return 0;
}
3.任意读入3个不同的字符串,将最大串与最小串连接后输出,同时输出连接后的串长。例如读入:We
love
you
则输出:youWe,5
#include <iostream>
#include <string>
using namespace std;
string concatenateStrings(const string& str1, const string& str2) {
return str1 + str2;
}
int main() {
string str1, str2, str3;
cout << "请输入三个不同的字符串:" << endl;
cin >> str1 >> str2 >> str3;
string minStr = str1;
string maxStr = str1;
if (str1.length() <= str2.length() && str1.length() <= str3.length()) {
minStr = str1;
} else if (str2.length() <= str1.length() && str2.length() <= str3.length()) {
minStr = str2;
} else {
minStr = str3;
}
if (str1.length() >= str2.length() && str1.length() >= str3.length()) {
maxStr = str1;
} else if (str2.length() >= str1.length() && str2.length() >= str3.length()) {
maxStr = str2;
} else {
maxStr = str3;
}
string result = concatenateStrings(maxStr, minStr);
cout << result << "," << result.length() << endl;
return 0;
}
4.任意读入一个字符串,统计其中大写字母出现的总次数。例如读入:“I love China!”,输出:2。
#include <iostream>
using namespace std;
void bubbleSort(int arr[], int n) {
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
// 交换 arr[j] 和 arr[j+1] 的位置
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
int main() {
int n;
cout << "请输入序列中的元素个数:";
cin >> n;
int arr[n];
cout << "请输入序列的元素:";
for (int i = 0; i < n; i++) {
cin >> arr[i];
}
bubbleSort(arr, n);
cout << "升序排列后的序列:";
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
cout << endl;
return 0;
}