您的位置:首页 > 其它

HDU 1106 排序

2009-09-04 21:39 351 查看
http://acm.hdu.edu.cn/showproblem.php?pid=1106

解题思路:这道题就是一个字符串处理啦,这道题我们要考虑几种情况

1.多个5连在一起

2.第一个字符为5

3.最后一个字符为5

#include <iostream>
#include <algorithm>
#include <string>
#define Max 1001
using namespace std;

char str[Max];
int Num[Max];

int main()
{
int i,LenOfNum,value,len;
while (scanf("%s",&str)!=EOF)
{
len = strlen(str);
LenOfNum = 0;
value = 0;
for (i=0;i<len;i++)
{
if(str[i]=='5')
continue;
else
{
while(str[i]!='5')
{
if(i==len)
break;
value=value*10+(str[i]-'0');
i++;
}
Num[LenOfNum] = value;
value=0;
LenOfNum++;
}
}
sort(Num,Num+LenOfNum);
for(i=0;i<LenOfNum-1;i++)
printf("%d ",Num[i]);
printf("%d/n",Num[LenOfNum-1]);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: