您的位置:首页 > 其它

华为OJ平台试题 —— 整数排序

2015-09-11 21:17 281 查看


几个函数介绍:

1、 void *memset (void *s, int c, size_t n); 在string.h 中,表示将数组 s 的前n个字节设置为字符c

代码:

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define MAX 101

int compare(const void *src,const void *des)
{
int a=*(unsigned int*)src,b=*(unsigned int*)des;
if(a == b)
return 0;
else
return a>b?1:-1;
}

int main()
{
int i=0,count=0;
unsigned int    num[MAX],flag[MAX]={0};
memset(num,0xff,sizeof(num));
while(scanf("%d",&num[i]) != EOF)
{
i++;
getchar();
}
count=i;
qsort(num,count,sizeof(int),compare);
for(i=0;i<count;i++)
{
if(i+1<count && num[i]+1==num[i+1])
flag[i+1]=1;
if(i==count-1 || num[i]+1!=num[i+1])
flag[i]=0;
}
for(i=0;i<count;i++)
{
if(flag[i] == 0)
printf("%d ",num[i]);
}
printf("\n");
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: