`
linest
  • 浏览: 150287 次
  • 性别: Icon_minigender_1
  • 来自: 内蒙古
社区版块
存档分类
最新评论

ZOJ-3168 字符串

    博客分类:
  • acm
 
阅读更多
3168:将给定的字符串排列为先Z再O再J再7,然后是剩余部分。

Sample Input

t7ZJ7OhO7B7O7irZtOhZdayJ77

Sample Output

ZZZOOOOJJ7777777thBirthday

思路:实际上没有排序,先统计,再过滤了一次。
#include<iostream>
using namespace std;
#include<string.h>

char str[1001];

int main()
{
	int countZ;
	int countO;
	int countJ;
	int count7;

	while(cin>>str)
	{
		countZ = 0;
		countO = 0;
		countJ = 0;
		count7 = 0;
		for(int i=0;i<strlen(str);i++)
		{
			if(str[i]=='Z')
				countZ++;
			else if(str[i]=='O')
				countO++;
			else if(str[i]=='J')
				countJ++;
			else if(str[i]=='7')
				count7++;
		}
		for(int i = 0;i<countZ;i++)
			cout<<'Z';
		for(int i = 0;i<countO;i++)
			cout<<'O';
		for(int i = 0;i<countJ;i++)
			cout<<'J';
		for(int i = 0;i<count7;i++)
			cout<<'7';
		for(int i=0;i<strlen(str);i++)
		{
			if(!(str[i]=='Z'||str[i]=='O'||str[i]=='J'||str[i]=='7'))
				cout<<str[i];
		}
		cout<<endl;
	}

}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics