HDOJ 1106 排序 (字符串处理)
2013-04-18 14:49
453 查看
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1106
简单的字符串处理,注意以下数据即可
555500000
0000055555
0055550000
下面提供两种做法:
1.利用C语言库函数strtok(将函数按字符串分割)和atoi(将字符串转成int)
2.标准做法
简单的字符串处理,注意以下数据即可
555500000
0000055555
0055550000
下面提供两种做法:
1.利用C语言库函数strtok(将函数按字符串分割)和atoi(将字符串转成int)
/*HDOJ1106 作者:陈佳润 2013-04-18 */ #include<iostream> #include<string.h> #include<stdlib.h> using namespace std; int cmp ( const void *a , const void *b ) { return *(long int *)a - *(long int *)b;//从小到大 //return *(int *)b - *(int *)a; //从大到小 } int main(){ char str[1005]; long int number[1005]; int num,i; //freopen("1.txt","r",stdin); while(scanf("%s",str)!=EOF){ char *p; num=0; p=strtok(str,"5"); while(p!='\0'){ number[num++]=atoi(p); p=strtok(NULL,"5"); } qsort(number,num,sizeof(long int),cmp); for(i=0;i<num;i++){ cout<<number[i]; if(i!=num-1) cout<<" "; } cout<<endl; } return 0; }
2.标准做法
/*HDOJ1106 作者:陈佳润 2013-04-18 */ #include<iostream> #include<string.h> using namespace std; int main(){ int num,i,j; char str[1005]; long int number[1005],temp; // freopen("1.txt","r",stdin); while(scanf("%s",str)!=EOF){ memset(number,0,sizeof(number)); num=0;//第num个数 i=0;//字符串下标 while(str[i]=='5') i++;//消除刚开始出现的5 for(;str[i]!=0;i++){ if(str[i]=='5'&&(str[i+1]=='5'||str[i+1]==0)){//消除中间和后面的5 continue; } if(str[i]=='5'){//遇上5,则开始下一个数字的计算 num++; continue; } number[num]*=10; number[num]+=(str[i]-48); } for(i=0;i<=num;i++){//排序 for(j=i+1;j<=num;j++){ if(number[i]>number[j]){ temp=number[i]; number[i]=number[j]; number[j]=temp; } } } for(i=0;i<=num;i++){//输出 cout<<number[i]; if(i!=num) cout<<" "; } cout<<endl; } return 0; }
相关文章推荐
- HDOJ 1106 排序 (字符串处理)
- HDOJ 1106 排序 (字符串处理)
- hdu 1106(字符串处理+排序)
- HDOJ1106 排序(字符串数字提取)
- HDU 1106 排序 (排序+处理字符串)
- hdu 1106:排序(水题,字符串处理 + 排序)
- HDOJ-1106 分解字符串、转化及排序问题总结[sscanf()函数+strtok()函数+atoi()函数]
- HDU 1106 排序 其实是字符串分割
- hdoj 1106 排序——脑洞产物 两种做法
- 字符串处理问题系列之 To and Fro hdoj 1200
- HDOJ 1296:Polynomial Problem 关键在于处理字符串
- 字符串(流操作)fafu - 1543 -简单求和 && hdu 1106 排序
- hdoj 1237 简单计算器 【字符串处理】
- HDOJ/HDU 1039 Easier Done Than Said?(字符串处理~)
- hdoj.1106 排序 20140811
- HDOJ 1039 Easier Done Than Said? 简单的字符串处理
- hdu 1106 排序(水题,字符串)
- POJ 1589 Unix ls 排序和字符串处理
- hdu 1106 排序 (字符串 排序)
- zqoj 1812: sort 【sort排序(字符串处理)(有疑问)】