[蒟蒻求助]程序输出有问题
查看原帖
[蒟蒻求助]程序输出有问题
108881
松毛虫楼主2021/7/17 09:44
#include<bits/stdc++.h>
using namespace std;
int p1,p2,p3;
string s,sadd; 
bool abbrjud(char a,char b){
	if(a >= 48 && a<= 57 && b >= 48 && b <= 57) return 1;
	if(a >= 97 && a<= 122 && b >= 97 && b <= 122) return 1;
	if(a >= 65 && a<= 90 && b >= 65 && b <= 90) return 1;
	return 0;
}
int main()
{
	cin>>p1>>p2>>p3; cin>>s;
	for(int i = 0;i < s.length();i++){
		if(s[i] == '-' && abbrjud(s[i-1],s[i+1])){
			for(int i = 1;i < s[i + 1] - s[i - 1];i++) for(int j = 0;j < p2;j++) sadd += s[i-1] + i;
			if(s[i-1] > 57 && p1 == 1) transform(s.begin(),s.end(),s.begin(),::tolower);//小写 
			if(s[i-1] > 57 && p1 == 2) transform(s.begin(),s.end(),s.begin(),::toupper);//大写 
			if(p3 == 1) for(int j = 0;j < sadd.length();j++) cout<<sadd[i];
			if(p3 == 2) for(int j = sadd.length() - 1;j >= 0;j--) cout<<sadd[i];
		}
		else cout<<s[i];
		sadd = "";
	}
}

样例输出:

1 2 1
abcs-w1234-9s-4zz
abcs    w1234----9s-4zz

为什么中间是空白啊

能帮我看一下吗orz 我看不出来哪里错了:<

2021/7/17 09:44
加载中...