为何10分,求助
查看原帖
为何10分,求助
754119
tu_huang_di楼主2025/8/3 18:34
#include<iostream>
#include<bits/stdc++.h>
using namespace std;
const char c[100]={'s','a','e','i','o','u','A','E','I','O','U'};
char a[101];
int cnt,ans;
string s;
int main()
{
    getline(cin,s);
    for(int i=0;i<=s.size()-1;i++)
    {
        //if(s[i]=="")a[++cnt]="";
        if((s[i]>='a'&&s[i]<='z')||(s[i]>='A'&&s[i]<='Z')){a[++cnt]=s[i];ans++;}
        else a[++cnt]=s[i];
    }
    for(int i=1;i<=cnt;i++)
    {
        if((a[i]>='a'&&a[i]<='z')||(a[i]>='A'&&a[i]<='Z'))cout<<'.';
        else cout<<a[i];
    }
    cout<<endl;
    int o=int(ans/3+0.5),l=1,t;
    for(int i=1;i<=cnt;i++)
    {
        if(((a[i]>='a'&&a[i]<='z')||(a[i]>='A'&&a[i]<='Z')))
        {
            if(l<=o){cout<<a[i];l++;}
            else cout<<'.';
        }
        else cout<<a[i];
        if(l==o)t=i;
    }
    cout<<endl;
    bool flag=1;
    for(int i=t;i<=cnt;i++)
        for(int j=1;j<=10;j++)if(a[i]==c[j]){flag=0;break;}
    if(flag==1)
    {
        o=round(2.0*ans/ 3);l=1;
        for(int i=1;i<=cnt;i++)
        {
            if(((a[i]>='a'&&a[i]<='z')||(a[i]>='A'&&a[i]<='Z')))
            {
                if(l<=o){cout<<a[i];l++;}
                else cout<<'.';
            }
            else cout<<a[i];
        }
    }
    else{
        for(int i=t;i<=cnt;i++)
        {
            bool flagg=1;
            for(int j=1;j<=10;j++)
            {
                if(a[i]==c[j]){cout<<a[i];flag=1;flagg=0;break;}
            }
            if((a[i]>='a'&&a[i]<='z')||(a[i]>='A'&&a[i]<='Z'))
            {if(flagg==1)cout<<'.';}
            else if(flagg==1)cout<<a[i];
        }
    }
    cout<<endl;
}

2025/8/3 18:34
加载中...