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

来源:互联网 发布:淘宝飞利浦官方旗舰店 编辑:程序博客网 时间:2024/05/04 10:49


几个函数介绍:

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;  }  


0 0