C语言数组大小排列

2024-12-02 20:48:21
推荐回答(5个)
回答(1):

我学的c++,c我还不太会用!能帮你的很少吧!不好意思!c++的我有!
#include
#define SIZE 11 //这个11可以换成任意数,进行多个数字的比较。
void main()
{
int data[SIZE];
cout< int m;
for(m=0;m>data[m];
int j=0;
for(int i=1;i if(data[i] if(j>0){int k=data[0];
data[0]=data[j];
data[j]=k;
}
cout< for(m=0;m }

回答(2):

简单的办法是使用库函数中自带的qsort。

1 在程序开始包含头文件: #include

2 再输入如下的函数定义:
int cmp ( const void *a , const void *b )
{
return *(int *)a - *(int *)b;
}

3 然后调用qsort:
qsort(a,11,sizeof(int),cmp);

回答(3):

本题的一个完整的c程序如下,程序在win-tc和Dev-c++下都调试通过。
#include

int main()
{int i,j,a[11]={127,3,6,28,54,68,87,105,162,18};

for(i=0;i<9;i++) /* 选择法排序 */
for(j=i+1;j<10;j++)
if(a[i]>a[j])
{a[i]=a[i]+a[j];/* 交换a[i]和a[j] */
a[j]=a[i]-a[j];
a[i]=a[i]-a[j];
}
printf("The sequence after sort is:\n");
for(i=0;i<10;i++)
printf("%-5d",a[i]);
printf("\n");
system("pause");
return 0;
}

回答(4):

#include
#include

void sort(int array[])
{
int i,j;
int temp;
for (i=0;i<11;i++)
for (j=i;j<11;j++)
{
if(array[i]>array[j])
{
temp=array[i];
array[i]=array[j];
array[j]=temp;
}
}
printf("result: ");
for(i=0;i<11;i++)
{
printf("%4d",array[i]);
}
}
main()
{
int a[11]={127,3,6,28,54,68,87,105,162,18};

sort(a);
getch();
}

回答(5):

用冒泡法排序:
#define
N
11
main()
{
int
a[N];
int
i,j,t;
for(i=0;iscanf("%d",&a[i]);
printf("\n");
for(j=0;jfor(i=j+1;iif(a[j]>a[i])
{
t=a[j];
a[j]=a[i];
a[i]=t;
}
printf("The
sorted
numbers:
\n");
for(i=0;iprintf("%d
",a[i]);
printf("\n");
}
自己看看,很简单的算法。