写一个sort(int a[],int n),要求在主函数中从键盘输入10个数,调用sort()函数将这10个数按降序排序,并在主函数中输出排好序的10个数。
时间: 2024-06-13 21:09:42 浏览: 72
以下是一个sort()函数的实现,可以实现选择法排序,以及一个主函数的实现,可以输入10个整数并调用sort()函数进行降序排序后输出排好序的10个数:
```python
def sort(a, n):
for i in range(n):
max_idx = i
for j in range(i+1, n):
if a[j] > a[max_idx]:
max_idx = j
a[i], a[max_idx] = a[max_idx], a[i]
a = []
n = 10
for i in range(n):
a.append(int(input("请输入第%d个数:" % (i+1))))
sort(a, n)
print("排序后的结果为:")
for i in range(n):
print(a[i])
```
相关问题
数组排序。写一个函数sort(int a[ ] , int n),要求在主函数中从键盘输入10个数,调用sort( )函数将这10个数按降序排序,并在主函数中输出排好序的10个数。 只需要完成sort函数的定义,主函数已写好,在代码仓库main.c中
好的,我来给你写一个sort函数的定义:
```c
void sort(int a[], int n) {
int i, j, temp;
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;
}
}
}
}
```
这个sort函数使用了冒泡排序算法,将数组a按降序排序。在主函数中,你可以像下面这样调用sort函数:
```c
int main() {
int a[10], i;
printf("请输入10个数:\n");
for (i = 0; i < 10; i++) {
scanf("%d", &a[i]);
}
sort(a, 10);
printf("排序结果为:\n");
for (i = 0; i < 10; i++) {
printf("%d ", a[i]);
}
return 0;
}
```
这样,你就可以得到按降序排列的10个数了。
编写一个选择排序的函数void sort(int b[],int n),要求在主函数中输入一组数字,然后调用sort函数完成排序,最后在主函数中输出排序后的数组。
好的,我可以为您编写一个选择排序函数,代码如下:
```
#include <stdio.h>
void sort(int b[], int n) {
int i, j, min, temp;
for (i = 0; i < n - 1; i++) {
min = i;
for (j = i + 1; j < n; j++) {
if (b[j] < b[min]) {
min = j;
}
}
if (min != i) {
temp = b[i];
b[i] = b[min];
b[min] = temp;
}
}
}
int main() {
int n, i;
printf("请输入要排序的数字个数:");
scanf("%d", &n);
int b[n];
printf("请输入要排序的数字:");
for (i = 0; i < n; i++) {
scanf("%d", &b[i]);
}
sort(b, n);
printf("排序后的数字为:");
for (i = 0; i < n; i++) {
printf("%d ", b[i]);
}
printf("\n");
return 0;
}
```
在主函数中,首先输入要排序的数字个数n,然后定义一个长度为n的数组b,再输入要排序的数字,调用sort函数完成排序,最后输出排序后的数组。
阅读全文