用C语言写一个10个数大小排序
时间: 2023-04-09 17:02:26 浏览: 95
好的,我可以回答这个问题。以下是一个使用C语言编写的简单的10个数大小排序程序:
```
#include <stdio.h>
int main()
{
int arr[10], i, j, temp;
printf("请输入10个整数:\n");
for (i = 0; i < 10; i++)
{
scanf("%d", &arr[i]);
}
for (i = 0; i < 9; i++)
{
for (j = i + 1; j < 10; j++)
{
if (arr[i] > arr[j])
{
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
printf("排序后的结果为:\n");
for (i = 0; i < 10; i++)
{
printf("%d ", arr[i]);
}
return 0;
}
```
这个程序使用了冒泡排序算法,可以将输入的10个整数按从小到大的顺序排序。
相关问题
用C语言写一个包含10 个数字的数组按大小排序
以下是使用基本的冒泡排序算法对包含10个数字的数组进行排序的C语言代码:
```
#include <stdio.h>
int main()
{
int arr[10] = {5, 2, 8, 1, 9, 3, 6, 4, 7, 0};
int i, j, temp;
// 冒泡排序
for (i = 0; i < 9; i++)
{
for (j = 0; j < 9 - i; j++)
{
if (arr[j] > arr[j + 1])
{
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
// 输出排序后的数组
printf("排序后的数组为:\n");
for (i = 0; i < 10; i++)
{
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
输出结果为:
```
排序后的数组为:
0 1 2 3 4 5 6 7 8 9
```
用C语言 写一个二分法大小排序
以下是一个使用二分法实现的排序程序:
```c
#include <stdio.h>
void binary_sort(int a[], int n) {
int i, j, low, high, mid, temp;
for (i = 1; i < n; i++) {
low = 0;
high = i - 1;
temp = a[i];
while (low <= high) {
mid = (low + high) / 2;
if (a[mid] > temp) {
high = mid - 1;
} else {
low = mid + 1;
}
}
for (j = i - 1; j >= low; j--) {
a[j + 1] = a[j];
}
a[low] = temp;
}
}
int main() {
int a[10] = {9, 1, 5, 8, 3, 7, 6, 2, 4, 0};
int i;
printf("Original array:\n");
for (i = 0; i < 10; i++) {
printf("%d ", a[i]);
}
printf("\n");
binary_sort(a, 10);
printf("Sorted array:\n");
for (i = 0; i < 10; i++) {
printf("%d ", a[i]);
}
printf("\n");
return 0;
}
```
该程序首先定义了一个 `binary_sort` 函数,接受一个整数数组 `a` 和数组大小 `n` 作为参数。在函数中,使用了一个外层循环来遍历整个数组,内层循环使用二分法查找当前元素应该插入的位置。最后,使用一个 `for` 循环将元素插入到对应位置。
在 `main` 函数中,定义了一个初始数组,使用 `printf` 函数输出原始数组和排序后的数组。