编写一个函数,对10个数按由小到大的顺序排序。在主函数中输入 10个函数,调用排序函数,输出排序结果。 (排序采用冒泡排序) 用C语言的方法
时间: 2024-02-03 07:12:58 浏览: 55
以下是用C语言实现冒泡排序的代码:
```c
#include <stdio.h>
void bubble_sort(int arr[], int n) {
int i, j, temp;
for (i = 0; i < n - 1; i++) {
for (j = 0; j < n - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
int main() {
int arr[10];
int i;
printf("请输入10个整数:\n");
for (i = 0; i < 10; i++) {
scanf("%d", &arr[i]);
}
bubble_sort(arr, 10);
printf("排序后的结果为:\n");
for (i = 0; i < 10; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
输入10个整数后,调用 `bubble_sort` 函数进行排序,最后输出排好序的结果。
相关问题
1、编写一个函数,对10个数按由小到大的顺序排序。在主函数中输入10 个函数,调用排序函数,输出排序结果。c语言
以下是一个实现对10个数按由小到大排序的函数:
```c
void sort(int arr[], int n)
{
int i, j, temp;
for (i = 0; i < n - 1; i++)
{
for (j = i + 1; j < n; j++)
{
if (arr[i] > arr[j])
{
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
}
```
其中,`arr`是存储10个数的数组,`n`为数组长度。
在主函数中,我们可以输入10个数,然后调用`sort`函数进行排序。完整代码如下:
```c
#include <stdio.h>
void sort(int arr[], int n);
int main()
{
int arr[10];
int i;
printf("请输入10个数:\n");
for (i = 0; i < 10; i++)
{
scanf("%d", &arr[i]);
}
sort(arr, 10);
printf("排序结果:\n");
for (i = 0; i < 10; i++)
{
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
void sort(int arr[], int n)
{
int i, j, temp;
for (i = 0; i < n - 1; i++)
{
for (j = i + 1; j < n; j++)
{
if (arr[i] > arr[j])
{
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
}
```
运行结果:
```
请输入10个数:
9 7 4 3 6 2 1 8 5 0
排序结果:
0 1 2 3 4 5 6 7 8 9
```
用c++代码编写,以下n个数,已按从小到大顺序排序。在主函数中输入一个数,调用一个数,调用一个函数,它把输入的数插入原有数列中,保持大小排序,输出插入前后的两个数组,并将被挤出的最大数(有可能就是被插入数)返回给主函数输出
以下是用C++代码实现的插入数列并返回被挤出的最大数的程序:
```cpp
#include <iostream>
using namespace std;
const int MAXN = 100; // 数组的最大长度
void insert(int a[], int& n, int x) {
int i;
for (i = n - 1; i >= 0 && a[i] > x; i--) {
a[i + 1] = a[i]; // 向后移动大于x的元素
}
a[i + 1] = x; // 插入x
n++; // 数组长度加1
}
int main() {
int a[MAXN], n, x;
cout << "请输入原有数列的长度n:";
cin >> n;
cout << "请输入" << n << "个已按从小到大顺序排序的数:";
for (int i = 0; i < n; i++) {
cin >> a[i];
}
cout << "请输入要插入的数x:";
cin >> x;
insert(a, n, x); // 插入x
cout << "插入前的数列为:";
for (int i = 0; i < n - 1; i++) {
cout << a[i] << " ";
}
cout << a[n - 1] << endl; // 输出插入前的数列
cout << "插入后的数列为:";
for (int i = 0; i < n - 1; i++) {
cout << a[i] << " ";
}
cout << a[n - 1] << endl; // 输出插入后的数列
cout << "被挤出的最大数为:" << a[n - 2] << endl; // 输出被挤出的最大数
return 0;
}
```
程序中的 `insert` 函数实现了将数列中插入一个数并保持数列的有序性。主函数中先输入原有数列的长度和已排序的数列,然后再输入要插入的数x。接着调用 `insert` 函数将x插入数列,并输出插入前后的数组以及被挤出的最大数。
阅读全文