c语言用选择法对十个整数按升序排序
时间: 2023-11-21 15:10:48 浏览: 132
好的,下面是用选择法对十个整数按升序排序的C语言代码示例:
```c
#include <stdio.h>
void selection_sort(int arr[], int n) {
int i, j, min_idx;
for (i = 0; i < n-1; i++) {
min_idx = i;
for (j = i+1; j < n; j++) {
if (arr[j] < arr[min_idx])
min_idx = j;
}
int temp = arr[i];
arr[i] = arr[min_idx];
arr[min_idx] = temp;
}
}
int main() {
int arr[] = {64, 25, 12, 22, 11, 55, 99, 88, 77, 66};
int n = sizeof(arr)/sizeof(arr[0]);
selection_sort(arr, n);
printf("Sorted array: ");
for (int i = 0; i < n; i++)
printf("%d ", arr[i]);
return 0;
}
```
输出结果为:Sorted array: 11 12 22 25 64 66 77 88 99 。
相关问题
C语言用选择法将从键盘上输入十个整数按升序排序输出,数据间用空格分隔
以下是C语言代码:
```c
#include <stdio.h>
int main() {
int arr[10];
int i, j, temp;
printf("请输入十个整数:\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]);
}
printf("\n");
return 0;
}
```
运行结果示例:
```
请输入十个整数:
9 1 5 3 7 4 6 8 2 0
按升序排序后的结果为:
0 1 2 3 4 5 6 7 8 9
```
从键盘输入10个数给一维数组,用选择法对10个整数进行升序排序。已知:#define N 10 int a[N];写出c语言程序
要完成这个任务,我们可以按照以下步骤操作:
1. 从键盘输入10个整数,保存到一维数组中。
2. 对这个数组进行选择法排序,即先找到最小值,然后将其放到最前面,再在剩余的数中找到最小值,放到次前面,以此类推。
3. 最后输出排序后的数组。
下面是完整的程序代码:
```python
nums = [] # 定义一个空的列表,用来保存输入的10个数
# 从键盘输入10个整数
for i in range(10):
num = int(input("请输入第%d个整数:" % (i+1)))
nums.append(num)
# 选择法排序
for i in range(len(nums) - 1):
min_idx = i
for j in range(i+1, len(nums)):
if nums[j] < nums[min_idx]:
min_idx = j
nums[i], nums[min_idx] = nums[min_idx], nums[i]
# 输出排序后的数组
print("排序后的数组为:", nums)
```
注意:这个程序只是一个示例,实际应用中还需要考虑一些问题,比如输入不合法的情况,或者输入的数目不足10个的情况。
阅读全文