求助C语言牛人···很简单的作业

来源:百度知道 编辑:UC知道 时间:2024/06/09 04:05:56
帮个编个小程序,明天老师要检查啊···
从键盘任意输入10个整数,用函数编程实现排序(由小到大),再将其中最大数与最小数的位置对换后,再输出调整后的数组。(要求两种排序方法:交换法和选择法,即编写两个程序,
急啊······

#include <stdio.h>
void main()
{
int i,j;
int temp,a[10];
printf("请输入10个整数:\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<10;i++)
for(j=i+1;j<10;j++)
if(a[i]>a[j])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}

printf("%d ",a[9]);
for(i=1;i<9;i++)
printf("%d ",a[i]);
printf("%d\n",a[0]);

}

当年我也学这个 当年我也遇到这问题 当年我也不会做
现在我还是不会做

首先,我要说的是这是很基础的问题,需要努力啊!
我给你提供了两种交换排序方法,在程序中选择其中一个即可。另外给你提供了选择排序方法。程序运行无误。

#include<stdio.h>

void bubble_sort(int a[],int len)
{
int i=0,j=0;
int temp=0,flag=0; //flag 为交换标志,对代码优化
for(i=0;i<len;i++)
{
flag=0;
for(j=len-2;j>=i;j--)
{
if(a[j+1]<a[j])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;