hdu 1106排序
来源:互联网 发布:局域网网络限速软件 编辑:程序博客网 时间:2024/05/19 23:58
你的任务是:对这些分割得到的整数,依从小到大的顺序排序输出。
输入数据保证:分割得到的非负整数不会大于100000000;输入数据不可能全由‘5’组成。
0051231232050775
0 77 12312320-----------------------------------------菜鸟篇#include<stdio.h>#include<string.h> #include<stdlib.h>char buf[1010];int a[1010];int b[1000];int cmp(const void *a ,const void *b){ return *(int*)a - *(int*)b;}int main(){ int right(int len); int left(int len); int i,j,k,temp; int len,le,ri,t; memset(a,0,sizeof(a)); memset(b,0,sizeof(b)); memset(buf,0,sizeof(buf)); while(scanf("%s",buf)!=EOF) { len = strlen(buf); le = left(len); ri = right(len); //printf("le: %d ri: %d\n",le,ri); for(i=le;i<=ri;i++) temp = temp*10 + buf[i] - '0'; if(temp==0) { printf("0\n");continue;} k = 0;temp=0; for(i=le;i<=ri;i++) { for(j=i;buf[j]!='5'&&j<=ri;j++) { temp = temp*10 + buf[j]-'0'; } a[k++] = temp; temp = 0; for(t=j;t<=ri;t++) { if(buf[t]!='5') break; } i = t-1; } qsort(a,k,sizeof(a[0]),cmp); printf("%d",a[0]); for(i=1;i<k;i++) printf(" %d",a[i]); printf("\n");
memset(a,0,sizeof(a)); memset(b,0,sizeof(b)); memset(buf,0,sizeof(buf)); } return 0;}int left(int len){ int i,flag; for(i=0;i<len;i++) { if(buf[i]!='5') { flag=i;break; } } return flag;}int right(int len){ int i,flag; for(i=len-1;i>=0;i--) { if(buf[i]!='5') { flag=i;break; } } return flag;}
---------------------------------------高效篇其实可以用strtok()函数以及分割单词,从字符串中分离出来一部内容,都可以用这个函数;需要注意的是:此函数返回的是字符类型的指针,以及第二次调用时 第一个参数必须是NULL;#include<stdio.h>#include<string.h>#include<stdlib.h>#include<algorithm>using namespace std;int main(){ char s[1500]; int a[1500]; while(scanf("%s",&s)!=EOF) { memset(a,0,sizeof(a)); int count=0; char *p; p=strtok(s,"5"); while(p!=NULL) { sscanf(p,"%d",&a[count++]); p=strtok(NULL,"5"); } sort(a,a+count); printf("%d",a[0]); for(int i=1;i<count;i++) printf(" %d",a[i]); printf("\n"); } return 0;}
- HDU 1106 排序
- hdu 1106排序
- hdu 1106 排序
- hdu 1106 排序
- hdu-1106 排序
- HDU-1106 排序
- HDU 1106 排序
- hdu 1106 排序
- hdu 1106 排序
- HDU 1106 排序
- HDU 1106 排序
- HDU 1106 排序
- HDU-1106排序
- hdu 1106 排序
- hdu 1106 排序
- hdu 1106 排序
- HDU 题目1106 排序
- HDU 1106 排序
- Excel_VBA:根据条件设定背景色
- Java远程访问Domino数据库—DIIOP(2)
- 哈希表
- 测试流程积累
- OC学习(二)实例变量的可见度和几种常用方法
- hdu 1106排序
- 使用jq工具在Shell命令行处理JSON数据
- Andriod开发技巧——Fragment的懒加载
- Java中遍历Map的两种方法:keySet和entrySet
- 简单的C++程序
- 单调递增最长子序列
- hdu 4893 Wow! Such Sequence!
- 简单的加减乘除运算
- uva147Dollars