HDOJ1106 排序

简介:

别人的代码【使用sscanf和qsort】

复制代码
#include<iostream>
using namespace std;

int cmp(const void *a,const void *b){ return *(int*)a-*(int*)b; }
int main()
{
    char s[1001],*p;
    int a[1001],i,l,n,m;
    while (gets(s))
    {
        l=strlen(s);
        p=s;
        for(i=0;i<l;i++) if (s[i]=='5') s[i]=' ';
        l=0;  
        while (sscanf(p,"%d%n",&m,&n)==1) 
        {//注意sscanf()的返回值的使用
            a[l++]=m;
            p+=n;
        }
        qsort(a,l,sizeof(int),cmp);
        printf("%d",a[0]);
   for (i=1;i<l;i++) printf(" %d",a[i]); 
        printf("\n"); 
    }
    return 0;
}
 
复制代码

 别人的代码【使用strtok和qsort】

复制代码
#include <stdio.h> 
#include <stdlib.h> 
#include <string.h>
int cmp(const void* a,const void* b){ return *(int*)a-*(int*)b;}
int main()
{
char a[1000];
int b[1000],size,i;
char* p;
while(EOF!=scanf("%s",a))
{
   size=0;
   p = strtok(a,"5");
   while(NULL != p)
   {
    b[size++] = atoi(p);
    p = strtok(NULL,"5");
   }
   qsort(b,size,sizeof(int),cmp);
   for(i=0;i<size-1;i++)
    printf("%d ",b[i]);
   printf("%d\n",b[i]);
}
return 0;
}
复制代码

 


本文转自ZH奶酪博客园博客,原文链接:http://www.cnblogs.com/CheeseZH/archive/2012/04/13/2445194.html,如需转载请自行联系原作者

相关文章
hdoj 4715 Difference Between Primes 素数筛选+二分查找
hdoj 4715 Difference Between Primes 素数筛选+二分查找
37 1
|
测试技术
HDOJ 1106 排序
HDOJ 1106 排序
104 0
|
机器学习/深度学习 人工智能 BI
HDOJ/HDU 2550 百步穿杨(注意排序)
HDOJ/HDU 2550 百步穿杨(注意排序)
105 0
HDOJ/HDU 2535 Vote(排序、)
HDOJ/HDU 2535 Vote(排序、)
103 0
HDOJ(HDU) 2115 I Love This Game(排序排序、、、)
HDOJ(HDU) 2115 I Love This Game(排序排序、、、)
92 0
|
存储 测试技术
HDOJ(HDU) 2523 SORT AGAIN(推导排序、、)
HDOJ(HDU) 2523 SORT AGAIN(推导排序、、)
101 0
HDOJ/HDU 1321 Reverse Text(倒序输出~)
HDOJ/HDU 1321 Reverse Text(倒序输出~)
99 0
HDOJ 2009 求数列的和
HDOJ 2009 求数列的和
136 0
HDOJ 1716 排列2 next_permutation函数
HDOJ 1716 排列2 next_permutation函数
124 0
|
Java
HDOJ 1716 排列2(next_permutation函数)
HDOJ 1716 排列2(next_permutation函数)
99 0