其他分享
首页 > 其他分享> > 1109 擅长C 测试点分析 测试点1、2、3、4

1109 擅长C 测试点分析 测试点1、2、3、4

作者:互联网

易错点

测试点1、2:注意输入字符串末尾连续多个非字母字符的情况,如:“DASJD'ASDDA;SAD.;;”

测试点3:空格也算字符,因此不能用cin,要用getline()

测试点4:字母结尾的情况,如“SADS.ASDDA"

代码

#include <iostream>
#include <cstdio>
#include <string>
#include <map>
using namespace std;

int main()
{
	string s;
	map<char,int> mp;
	mp['S']=0;
	mp['t']=0;
	mp['r']=0;
	mp['i']=0;
	mp['n']=0;
	mp['g']=0;
	cin>>s;
	for(int i=0;s[i]!=NULL;i++){
		mp[s[i]]++;
	}
	while(mp['S']!=0||mp['t']!=0||mp['r']!=0||mp['i']!=0||mp['n']!=0||mp['g']!=0){
		if(mp['S']!=0){
			cout<<'S';
			mp['S']--;
		}
		if(mp['t']!=0){
			cout<<'t';
			mp['t']--;
		}
		if(mp['r']!=0){
			cout<<'r';
			mp['r']--;
		}
		if(mp['i']!=0){
			cout<<'i';
			mp['i']--;
		}
		if(mp['n']!=0){
			cout<<'n';
			mp['n']--;
		}
		if(mp['g']!=0){
			cout<<'g';
			mp['g']--;
		}
	}
	return 0;
}

标签:测试点,int,ASDDA,++,擅长,mp,include,1109
来源: https://www.cnblogs.com/wodeblog1982/p/16483473.html