c++键盘输入数组 sort排序函数
时间: 2023-12-16 19:02:15 浏览: 80
可以使用以下代码实现:
```c++
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
int n;
cout << "请输入数组元素个数:";
cin >> n;
int arr[n];
cout << "请输入数组元素:";
for(int i=0; i<n; i++) {
cin >> arr[i];
}
sort(arr, arr+n);
cout << "排序后的数组为:";
for(int i=0; i<n; i++) {
cout << arr[i] << " ";
}
return 0;
}
```
该代码先通过键盘输入数组元素个数和数组元素,然后使用sort函数对数组进行排序,最后输出排序后的数组。需要注意的是,C++中数组大小必须是常量,所以使用变量n来定义数组时,需要使用C99或C++11标准。
相关问题
编写一个C++程序,使用new运算符动态分配一个整数数组,该程序应该能够让用户通过键盘输入数组的大小,并动态地分配相应大小的数组空间,然后通过键盘输入数组数据,并对该数组排序,最后输出排序后的数组元素。
在C++中,你可以创建一个程序来完成这个任务,首先,我们需要使用`new`运算符动态分配内存,然后接收用户的输入,对数组进行排序,最后释放内存。下面是一个简单的示例:
```cpp
#include <iostream>
#include <algorithm> // 引入sort函数
using namespace std;
int* createArray(int size) {
int* arr = new int[size]; // 动态分配数组
if (arr == nullptr) {
cerr << "Memory allocation failed!" << endl;
return nullptr; // 如果分配失败,返回nullptr
}
return arr;
}
void inputArray(int* arr, int size) {
cout << "Enter array elements:" << endl;
for (int i = 0; i < size; i++) {
cin >> arr[i];
}
}
void sortArray(int* arr, int size) {
sort(arr, arr + size); // 使用内置的sort函数
}
void printArray(int* arr, int size) {
cout << "Sorted array: ";
for (int i = 0; i < size; i++) {
cout << arr[i] << " ";
}
cout << endl;
}
int main() {
int size;
cout << "Enter the size of the array: ";
cin >> size;
int* dynamicArr = createArray(size);
if (dynamicArr != nullptr) {
inputArray(dynamicArr, size);
sortArray(dynamicArr, size);
printArray(dynamicArr, size);
delete[] dynamicArr; // 释放动态分配的内存
} else {
return 1;
}
return 0;
}
```
在这个程序中,我们首先询问用户数组的大小,然后动态分配内存,接着让用户输入数组元素,随后对数组进行排序并打印结果。注意,在使用完数组后,我们通过`delete[]`操作符释放动态分配的内存。
c++写从键盘输入数组长度n(20以内),以及n个数,按从小到大的1顺序进行排序
好的,以下是一个简单的 C++ 代码示例,可以实现您所要求的功能:
```cpp
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
int n;
int arr[20];
// 从键盘输入数组长度n
cout << "请输入数组长度n(20以内):";
cin >> n;
// 从键盘输入n个数
cout << "请输入" << n << "个数:";
for (int i = 0; i < n; i++) {
cin >> arr[i];
}
// 使用 std::sort 函数对数组进行排序
sort(arr, arr + n);
// 输出排序后的数组
cout << "按从小到大排序后的数组为:";
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
cout << endl;
return 0;
}
```
这个程序首先从键盘输入数组长度 n,然后再从键盘输入 n 个数,接着使用 `std::sort` 函数对这个数组进行排序,最后输出排序后的数组。注意,这个程序中使用了 STL 中的 `sort` 函数,可以方便地对数组进行排序。
阅读全文