C++函数,排序问题? c排序怎么算
c语言函数排序问题
错的地方很多。。改了下,
#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;
}
排序问题,c语言函数调用
//问题很多,第一个就是paiux 和函数重名
//还有,就是函数返回只能返回一个数啊
#include<stdio.h>
int main()
{
int paixu(int a,int b,int c);
int a,b,c,pai;
while(scanf("%d %d %d",&a,&b,&c)!=-1)
{
pai=paixu(a,b,c);
printf("%d %d %d\n",pai);
}
return 0;
}
int paixu(int a,int b,int c)
{
int pai;
if(a>b)
{pai=b; b=a; a=pai;}
if (a>c)
{pai=c; c=a; a=pai;}
if(b>c)
{
pai=b;b=c;c=pai;
}
printf("%d %d %d\n",a,b,c);
return a;
}
C语言中用函数排序
#include<stdio.h>
int *sort()
{
int i,j,t;
static int a[10]={2,5,9,3,4,7,6,5,6,3};
for(i=0;i<9;i++)
for(j=i+1;j<10;j++)
if(a[j]>a[i])//将小的换到后面去,大的换到前面来
{
t=a[j];a[j]=a[i];a[i]=t;
}
return a;
}
void main()
{
int i;
int *p;
p=sort();//排序
printf("排序后的数组:\n");
for(i=0;i<10;i++)//输出排序后的数组
printf("%d ",p[i]);
}
运行结果:
C语言用函数冒泡排序问题
void sort(int n){
int i,j,t;
for(i=0;i<n;i++)
for(j=i+1;j<n;j++){
if(a[i]<a[j]){
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
}