试试..
#define N 10
#include<stdio.h>
void main()
{
void sr(int a[]);
void sc(int a[],int m);
void js(int a[],int *max,int *min);
void px(int a[]);
int a[N],m,max,min;
/***************************/
printf("输入一个数m ");
scanf("%d",&m);
sr(a);
sc(a,m);
js(a,&max,&min);
printf("最大值max=%d,最小值min=%d\n",max,min);
px(a);
sc(a,m);
}
/***********************/
void sr(int a[])
{
int i;
printf("初始化数组,输入 %d 个数 :\n",N);
for(i=0;i<N;i++)
scanf("%d",&a[i]);
}
/************************/
void sc(int a[],int m)
{
int i;
printf("输出数组a,每行%d 个数:\n",m);
for(i=0;i<N;i++)
printf("%5d",a[i])&&((i+1)%m==0)&&printf("\n");
printf("\n");
}
/*************************/
void js(int a[],int *max,int *min)
{
int i;
printf("求最大最小值\n");
*max=*min=a[0];
for(i=1;i<N;i++)
{
if(*max<a[i])*max=a[i];
if(*min>a[i])*min=a[i];
}
}
void px(int a[])
{
int i,j,tmp;
printf("数组排序\n");
for(i=0;i<N-1;i++)
for(j=i+1;j<N;j++)
if(a[i]<a[j])
{
tmp=a[i];
a[i]=a[j];
a[j]=tmp;
}
}
追问谢谢呀,能把函数px输出的时候是这个形式吗?
数组排序为:1 2 3 4 5 6 7 8 9 10
下面是你的编译后的图片
![](https://video.ask-data.xyz/img.php?b=https://iknow-pic.cdn.bcebos.com/21a4462309f7905265144d980df3d7ca7bcbd509?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto)
追答if(a[i]a[j]就行了
追问怎么改使排序不分行呢?
追答这个是输出的问题啊,和排序没关系,在main函数里最后用的是
px(a);
sc(a,m);
意思是调用排序,然后仍然按一行m个数输出,把输出自定义就是了,改成sc(a,N)就是一行全输出了,N是自定义的数组元素个数