c语言编程 请定义一个函数sort1,可以实现对具有n个元素的数组进行排序。要求在主函数中定义一个数组s[6]={67,89,90,56,78,92},调用该函数进行排序并输出排序结果。
时间: 2024-02-16 11:04:16 浏览: 21
好的,这里给出一个排序函数sort1的定义和使用方法:
```c
#include <stdio.h>
void sort1(int s[], int n)
{
int i, j, temp;
for (i = 0; i < n - 1; i++) {
for (j = i + 1; j < n; j++) {
if (s[i] > s[j]) {
temp = s[i];
s[i] = s[j];
s[j] = temp;
}
}
}
}
int main()
{
int s[6] = {67, 89, 90, 56, 78, 92};
int i;
sort1(s, 6);
printf("排序结果如下:\n");
for (i = 0; i < 6; i++) {
printf("%d ", s[i]);
}
printf("\n");
return 0;
}
```
该程序中,sort1函数实现了选择排序算法,对传入的整型数组s进行升序排序。在主函数中,定义了一个初始数组s,调用了sort1函数进行排序,并输出了排序结果。运行该程序,可以得到以下输出:
```
排序结果如下:
56 67 78 89 90 92
```
相关问题
C语言编程:使用函数的选择法排序,定义函数void sort(int a【】,int n),用选择法对数组a中的元素升序排序。 自定义主函数,并在其中调用sort函数。试编写相应程序。
好的,以下是C语言代码实现:
```c
#include <stdio.h>
void sort(int a[], int n);
int main(){
int arr[] = {5, 2, 8, 3, 1};
int n = sizeof(arr)/sizeof(arr[0]);
printf("排序前的数组:\n");
for(int i=0; i<n; i++){
printf("%d ", arr[i]);
}
printf("\n");
sort(arr, n);
printf("排序后的数组:\n");
for(int i=0; i<n; i++){
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
void sort(int a[], int n){
int i, j, minIndex, temp;
for(i=0; i<n-1; i++){
minIndex = i;
for(j=i+1; j<n; j++){
if(a[j] < a[minIndex]){
minIndex = j;
}
}
temp = a[i];
a[i] = a[minIndex];
a[minIndex] = temp;
}
}
```
这个程序中,我们定义了一个`sort`函数用于实现选择排序。在主函数中,我们定义了一个数组`arr`,然后调用`sort`函数对其进行排序,最后输出排序后的数组。
用C语言编程 任意输入10个数排序并输出。要求输入和输出在主函数,排序在子函数。用指针实现
好的,以下是实现代码:
```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;
}
}
}
}
```
在上面的代码中,我们定义了一个 `sort` 函数,它使用指针数组对输入的10个数进行排序。我们在主函数中获取输入,然后传递数组指针和数组长度给 `sort` 函数,最后输出排序后的结果。
值得注意的是,`*(arr + i)` 相当于 `arr[i]`,因为指针数组和普通数组在使用上是一样的。