永发信息网

C语言如何用void sort_no()排序,高手回答

答案:4  悬赏:50  手机版
解决时间 2021-12-03 11:09
  • 提问者网友:遁入空寂
  • 2021-12-02 18:14
C语言如何用void sort_no()排序,高手回答
最佳答案
  • 五星知识达人网友:酒安江南
  • 2021-12-02 19:35
写了两个排序 ,一个是冒泡 ,一个选择,最简单的排序;

#include
void init_array(int b[], int length)
{
register int i;
for(i = 0; i < length; i++)
{
b[i] = rand();

}
}

void sort_no(int b[], int length)
{
register int i,j,temp;
for(i=0;i {
for(j=0;j {
if(b[j+1] {
temp=b[j];
b[j]=b[j+1];
b[j+1]=temp;
}
}
}
}
void print_array(register int b[],register int length)
{
register int i,j=0;
for(i = 0; i < length; i++)
{
j++;
if(j == 5)
{
printf("\n");
j=0;
}
printf("%d\t" , b[i]);
}
printf("\n");
}

int main()
{
int n;
printf("请输入要排序的个数:");
scanf("%d",&n);
int a[n];

init_array(a,n);
sort_no(a,n);
print_array(a,n);
return 0;
}

#include

void init_array(int b[],int length)
{
int i;
for(i = 0; i < length; i++)
{
b[i] = rand() ;
}
}

void sort_no( int b[], int length)
{
int i,j,k,temp;
for(i=0; i {
k=i;
for(j=i+1; j {
if(b[j] < b[k])
k=j;
}
if(k!=i)
{
temp=b[k];
b[k]=b[i];
b[i]=temp;
}
}
}
void print_array( int b[],int length)
{
register int i,j=0;
for(i = 0; i < length; i++)
{
j++;
if(j == 5)
{
printf("\n");
j=0;
}
printf("%d\t" , b[i]);
}
printf("\n");
}

int main()
{
int n;
printf("请输入要排序的个数:");
scanf("%d",&n);
int a[n];
init_array(a,n);
sort_no(a,n);
print(a,n);
return 0;
}
全部回答
  • 1楼网友:神鬼未生
  • 2021-12-02 22:06
#include"stdio.h"
#define True 1
#define False 0
void sort_no(int* a,int len);
void main()
{
int a[7]={9,12,6,15,3,16,10};
int i;
sort_no(a,sizeof(a)/(sizeof(int)));
for(i=0;i<7;i++)
{
printf("%4d",a[i]);
}
}

void sort_no(int* a,int len)
{
for(i=1;i<=6;i++)
{
int j;
int ok=True;

for(j=0;j<=len-i;j++)
{

if(a[j]>a[j+1])
{
ok=False;
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
if(ok==True)
break;
}
}
进供参考,随便写的,没运行过,算法大概就这样了!
  • 2楼网友:山君与见山
  • 2021-12-02 21:43
神马啊
  • 3楼网友:未来江山和你
  • 2021-12-02 20:44
哈哈,看来楼主也是C语言基本一点不会吧。。。
你想怎么排序啊?给什么排序啊?用哪种方法排序啊?都得说清楚,不然别人没法回答哦!!
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯