1043 输出PATest (20 point(s))

#include <bits/stdc++.h>
using namespace std;

int main() {
	// 英文字符串 重置顺序(固定格式 删去其他字符
	// 区分大小写 
	string str;
	cin >> str;
	int P = 0, A = 0, T = 0, e = 0, s = 0, t = 0;
	
	// 统计不一样的字符 PATest
	for(auto it : str){
		if(it == ‘P‘)
			P++;
		else if(it == ‘A‘)
			A++;
		else if(it == ‘T‘)
			T++;
		else if(it == ‘e‘)
			e++;
		else if(it == ‘s‘)
			s++;
		else if(it == ‘t‘)
			t++;
	} 
	
	// 当字符存在则输出 直到所有字符都打印完
	while(P ||A || T || e || s || t){
		if(P)
			P--, cout << ‘P‘;
		if(A)
			A--, cout << ‘A‘;
		if(T)
			T--, cout << ‘T‘;
		if(e)
			e--, cout << ‘e‘;
		if(s)
			s--, cout << ‘s‘;
		if(t)
			t--, cout << ‘t‘;
	}	 
}

写的时候很习惯性地定义了foreach的变量有for(auto s : str),结果上面也有一个相同的变量用来统计 s 的个数,所以循环的时候统计的 s 就被覆盖了。

1043 输出PATest (20 point(s))

上一篇:1、前端-后端的流程


下一篇:wgcloud是什么