选择法排序:输入一个正整数 n (1<n≤10),再输入 n 个整数,将它们从大到小排序后输出。试编写相应程序。
时间: 2024-05-02 08:19:13 浏览: 22
好的,这是一道关于选择法排序的编程问题,下面是代码实现:
```
#include <stdio.h>
int main()
{
int n, i, j, temp, a[10];
printf("请输入数列个数 n (1<n≤10):\n");
scanf("%d", &n);
printf("请输入数列:\n");
for(i=0; i<n; i++)
scanf("%d", &a[i]);
for(i=0; i<n-1; i++)
for(j=i+1; j<n; j++)
if(a[i]<a[j])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
printf("从大到小排序后的数列为:\n");
for(i=0; i<n; i++)
printf("%d ", a[i]);
return 0;
}
```
希望对你有帮助。
相关问题
选择法排序:输入一个正整数n( l <n≤10) ,再输入n个整数,将它们从大到小排序后输出。
题目:选择法排序:输入一个整数n(l < n≤10),再输入n个整数,将它们从大到小排序后输出。
解析:题目要求我们输入一个整数n和n个整数,将这n个整数从大到小排序后输出。选择法排序是一种简单的排序算法,它的思路是每次从未排序的元素中选出最大(或最小)的一个,放在已排序的元素的末尾。这样经过n-1次选择,就可以完成整个序列的排序。我们可以通过一个for循环和一个while循环实现选择法排序。
代码实现:
n = int(input("请输入n的值:"))
a = []
for i in range(n):
a.append(int(input("请输入第"+str(i+1)+"个整数:")))
for i in range(n-1):
maxIndex = i
for j in range(i+1, n):
if a[j] > a[maxIndex]:
maxIndex = j
if maxIndex != i:
a[i], a[maxIndex] = a[maxIndex], a[i]
print("从大到小排序后的结果为:")
for i in a:
print(i, end=" ")
选择法排序。输入一个正整数n(1<n≤10),再输入n个整数,将它们从大到小排序后输出。
选择法排序是一种简单的排序算法。它的基本思想是:每次从待排序的数列中选择最小(或最大)的数,放到已排序数列的末尾,直到所有数都排序完成。
具体实现过程如下:
1. 输入一个正整数n(1<n≤10)。
2. 再输入n个整数。
3. 从第一个数开始,依次与后面的数比较,找到最小的数,并将其与第一个数交换位置。
4. 从第二个数开始,依次与后面的数比较,找到最小的数,并将其与第二个数交换位置。
5. 重复以上步骤,直到所有数都排序完成。
6. 将排序后的数列从大到小输出。
例如,输入n=5,数列为{3, 1, 4, 2, 5},则排序后的数列为{5, 4, 3, 2, 1}。