1.绝对值排序
#include <iostream>
#include <stdlib.h>
#include <math.h>
using namespace std;
int cmp(const void *a,const void *b)
{
if((*(int *)a)<0||(*(int *)b)<0) return abs(*(int *)b)-abs(*(int *)a);
return *(int *)b-*(int *)a;
}
int main()
{
int n,i,s[101];
while(cin>>n&&n)
{
for(i=0;i<n;i++)
{
cin>>s[i];
}
qsort(s,n,sizeof(int),cmp);
for(int j=0;j<n;j++)
{
if(j<n-1)
cout<<s[j]<<' ';
else
cout<<s[j]<<endl;
}
}
return 0;
}
2.
需要的头文件
在C中 <string.h>
在C++中 <cstring>
void *memset(void *s,int ch,size_t n);