重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
include cstdlib 或 #include stdlib.h
创新互联公司基于成都重庆香港及美国等地区分布式IDC机房数据中心构建的电信大带宽,联通大带宽,移动大带宽,多线BGP大带宽租用,是为众多客户提供专业托管服务器报价,主机托管价格性价比高,为金融证券行业服务器托管,ai人工智能服务器托管提供bgp线路100M独享,G口带宽及机柜租用的专业成都idc公司。
qsort(void* base, size_t num, size_t width, int(*)compare(const void* elem1, const void* elem2))
参数表
*base: 待排序的元素(数组,下标0起)。
num: 元素的数量。
width: 每个元素的内存空间大小(以字节为单位)。可用sizeof()测得。
int(*)compare: 指向一个比较函数。*elem1 *elem2: 指向待比较的数据。
比较函数的返回值
返回值是int类型,确定elem1与elem2的相对位置。
elem1在elem2右侧返回正数,elem1在elem2左侧返回负数。
控制返回值可以确定升序/降序。
产生随机数的函数也是rand(),不是rank().
#include stdio.h
char c,s[10];
int n;
void pern(int k)
{int i;
if(k==n)
printf("%s\n",s+1);
else
for(i=k;i=n;i++)
{c=s[k];s[k]=s[i];s[i]=c;
pern(k+1);
c=s[k];s[k]=s[i];s[i]=c;
}
}
int main()
{ int i;
scanf("%d",n);
for(i=1;i=n;i++)
s[i]='0'+i;
pern(1);
return 0;
}
给你一个直接插入排序
#include "stdio.h"
void InsertSort(int a[], int left, int right) {//对数组a从下标为left到right区域进行直接插入排序
int i, j, tmp;
for(i = left + 1; i = right; i++) {
for(j = i - 1, tmp = a[i]; j = left tmp a[j]; j++)
a[j + 1] = a[j];
a[j + 1] = tmp;
}
}
void main( ) {
int i, n, a[100];
scanf("%d", n);
for(i = 0; i n; i++)
scanf("%d", a[i]);
InsertSort(a, 0, n - 1);
printf("\n");
for(i = 0; i n; i++) printf("%d\t", a[i]);
}
#includestdio.h
int com(int m,int n)//m中取n个
{
int i,j,sum=1;
for (i=m,j=0;jn;j++,i--)
{
sum=sum*i/(j+1);
}
return sum;
}
int main()
{
int i;
i=com(5,3);
printf("%d",i);
return 0;
}