两种方法编写程序,实现对三个整数由小到大排序,并输出。考虑整型、小数、 字符等不同类型数的排序。
时间: 2024-02-22 19:57:57 浏览: 58
对于整数的排序,可以使用冒泡排序或者快速排序等算法来实现。对于小数和字符等其他类型的排序,需要使用对应的排序算法。
以下是一个使用冒泡排序来对三个整数排序的示例代码:
```c
#include <stdio.h>
void bubble_sort(int arr[], int len) {
int i, j, temp;
for (i = 0; i < len - 1; i++) {
for (j = 0; j < len - 1 - i; j++) {
if (arr[j] > arr[j + 1]) {
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
int main() {
int arr[3] = {3, 1, 2};
bubble_sort(arr, 3);
printf("%d %d %d\n", arr[0], arr[1], arr[2]);
return 0;
}
```
对于小数的排序,可以使用类似冒泡排序的算法来实现。对于字符等其他类型的排序,则需要使用对应的排序算法,例如使用快速排序等。
需要注意的是,不同类型的数值排序可能需要使用不同的算法,具体实现需要根据实际情况而定。
相关问题
三数排序两种方法编写程序,实现对三个整数由小到大排序,并输出。考虑整型、小数、字符等不同类型数的排序。
方法一:
```
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
int a, b, c;
cout << "请输入三个整数:";
cin >> a >> b >> c;
int arr[] = {a, b, c};
sort(arr, arr + 3);
cout << "排序后的结果为:" << arr[0] << " " << arr[1] << " " << arr[2] << endl;
return 0;
}
```
方法二:
```
#include <iostream>
using namespace std;
template <typename T>
void swap(T& a, T& b) {
T temp = a;
a = b;
b = temp;
}
template <typename T>
void sort(T arr[], int n) {
for (int i = 0; i < n - 1; i++) {
for (int j = i + 1; j < n; j++) {
if (arr[i] > arr[j]) {
swap(arr[i], arr[j]);
}
}
}
}
int main() {
int a, b, c;
cout << "请输入三个数:";
cin >> a >> b >> c;
int arr1[] = {a, b, c};
sort(arr1, 3);
cout << "排序后的结果为:" << arr1[0] << " " << arr1[1] << " " << arr1[2] << endl;
double d1, d2, d3;
cout << "请输入三个小数:";
cin >> d1 >> d2 >> d3;
double arr2[] = {d1, d2, d3};
sort(arr2, 3);
cout << "排序后的结果为:" << arr2[0] << " " << arr2[1] << " " << arr2[2] << endl;
char c1, c2, c3;
cout << "请输入三个字符:";
cin >> c1 >> c2 >> c3;
char arr3[] = {c1, c2, c3};
sort(arr3, 3);
cout << "排序后的结果为:" << arr3[0] << " " << arr3[1] << " " << arr3[2] << endl;
return 0;
}
```
两种方法编写程序,实现对三个整数由小到大排序,并输出。考虑整型、小数、 字符等不同类型数的排序。 方法 1 函数原型:void sort(int a[], int len); void sort(double a[], int len); void sort(char a[], int len);
以下是一个使用函数重载的方式来实现对三种不同类型的数值排序的示例代码:
```c++
#include <iostream>
#include <algorithm>
#include <cstring>
using namespace std;
void sort(int a[], int len) {
sort(a, a + len);
}
void sort(double a[], int len) {
sort(a, a + len);
}
void sort(char a[], int len) {
sort(a, a + len);
}
int main() {
int a[] = {3, 1, 2};
double b[] = {3.5, 1.2, 2.8};
char c[] = "bca";
sort(a, 3);
sort(b, 3);
sort(c, strlen(c));
for (int i = 0; i < 3; i++) {
cout << a[i] << " ";
}
cout << endl;
for (int i = 0; i < 3; i++) {
cout << b[i] << " ";
}
cout << endl;
for (int i = 0; i < strlen(c); i++) {
cout << c[i] << " ";
}
cout << endl;
return 0;
}
```
在这个示例代码中,我们使用了函数重载的方式来实现对三种不同类型的数值排序,分别使用了sort函数来实现排序,sort函数是C++ STL中提供的排序函数。需要注意的是,对于字符数组的排序,我们需要使用strlen函数来获取字符数组的长度,然后将其作为sort函数的第二个参数传入。
阅读全文