30分求调
查看原帖
30分求调
1070431
ywtank楼主2024/9/29 21:17
#include <bits/stdc++.h>
using namespace std;
struct ch{
	char c;//字符
	bool s;//是否已被显示
	ch(){
		c='\0';
		s=false;
	} 
}a[100];
inline bool pan(char c){
	if(c=='a' || c=='i' || c=='e' || c=='u' || c=='o' || c=='A' || c=='I' || c=='E' || c=='U' || c=='O'){
		return true;
	}
	return false;
}
int main(){
	int n=1;
	while(a[n].c=getchar()){
		if(a[n].c=='\n'){
			a[n].c='\0';
			break;
		}
		n++;
	}
	n--;
	int sum=0;
	for(int i=1;i<=n;i++){
		if((a[i].c>='a' && a[i].c<='z') || (a[i].c>='A' && a[i].c<='Z')){
			cout << '.';
			sum++;
		}
		else cout << a[i].c;
	}
	string p="";
	cout << '\n';
	int x=round(sum/3.0);
	for(int i=1;i<=n;i++){
		if(((a[i].c>='a' && a[i].c<='z') || (a[i].c>='A' && a[i].c<='Z')) && x>0){
			x--;
			cout << a[i].c;
			p+=a[i].c;
		}else if(((a[i].c>='a' && a[i].c<='z') || (a[i].c>='A' && a[i].c<='Z')) && x<=0){
			cout << '.';
			p+='.';
		}else {
			p+=a[i].c;
			cout << a[i].c;
		}
	}
	cout << '\n';
	x=round(((sum/3.0))*2);
	bool flag=true;
	for(int i=0;i<p.size();i++){
		if(p[i]=='.' && pan(a[i].c)){
			flag=false;
			p[i]=a[i].c;
		}
	}
	if(!flag){
		cout << p;
		return 0;
	}
	for(int i=1;i<=n;i++){
		if(((a[i].c>='a' && a[i].c<='z') || (a[i].c>='A' && a[i].c<='Z')) && x>0){
			x--;
			cout << a[i].c;
			//p+=a[i].c;
		}else if(((a[i].c>='a' && a[i].c<='z') || (a[i].c>='A' && a[i].c<='Z')) && x<=0){
			cout << '.';
			//p+='.';
		}else {
			//p+=a[i].c;
			cout << a[i].c;
		}
	}
	//cout << '\n' << sum;
	return 0;
} 

希望各位大佬帮忙看看

2024/9/29 21:17
加载中...