c语言函数排序问题

来源:百度知道 编辑:UC知道 时间:2024/05/15 19:42:23
#include<stdio.h>
void main()
{
int sort(int num[5]);
int numm[5],i,a;
for (i=0;i<5;i++)
scanf("%d",&numm[i]);
a=numm[5];

for (i=0;i<5;i++)
printf("%d",a);
}
int sort(int num[5])
{
int m,n,t;
for (m=0;m<5;m++)
for(n=0;n>5-m;n++)
{
t=num[n];
num[n]=num[n+1];
num[n+1]=t;
}

return(num[5]);

}
输入5个整数,按照从大到小的顺序排序。排序利用函数实现。函数原型为sort(int num[5])
唉。不知道哪里错了。。

错的地方很多。。改了下,
#include<stdio.h>
int sort(int num[5]);
void main()
{
int numm[5],i,a;
for (i=0;i<5;i++)
scanf("%d",&numm[i]);
sort(numm); //调用排序
for (i=0;i<5;i++)
printf("%d ",numm[i]);
}
int sort(int num[5])
{
int m,n,t;
for (m=0;m<4;m++)
for(n=m+1;n<5;n++)//冒泡排序
{
if (num[m]<num[n])
{
t=num[n];
num[n]=num[m];
num[m]=t;
}

}

return 1;

}

void main()
{
int sort(int num[5]);//声明不需要数组长度,因为不分配空间
int numm[5],i,a;//*a
for (i=0;i<5;i++)
scanf("%d",&numm[i]);
a=numm[5];//没有numm[5]这个元素,超界,a=num;

for (i=0;i<5;i++)
printf("%d",a);//指针需要*,而且要a++
}
int sort(int num[5])//你这个算法没有实现排序,
{
int m,n,t;
for (m=0;m<5;m++)
for(n=0;n>5-m;n++)
{<