社区讨论

样例过了,但是全wa了,大佬帮我看一下

B3640T3 句子反转参与者 2已保存回复 1

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
1 条
当前快照
1 份
快照标识符
@louwiytb
此快照首次捕获于
2023/11/12 11:13
2 年前
此快照最后确认于
2023/11/12 13:19
2 年前
查看原帖
CPP
#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
string a;
char b=' ';
int y=0,k=1,q=1;
void mn(string a,int m){
    for(int i=m;;i--){
        if(a[i]==' '){
            y=i;
            break;
        }
        else if(i==0){
            y=-1;k=0;
            break;
        }
    }
    for(int i=y+1;i<=m;i++){
        if(a[i]>='a'&&a[i]<='z')
            printf("%c",a[i]-32);
    }
    if(k==1) 
    printf("%c",b);
}
void mm(string a,int m){
    for(int i=m;;i--){
        if(a[i]==' '){
            y=i;
            break;
        }
        else if(i==0){
            y=-1;k=0;
            break;
        }
    }
    for(int i=y+1;i<=m;i++){
        if(a[i]>='A'&&a[i]<='Z')
            printf("%c",a[i]+32);
    }
    if(k==1) 
    printf("%c",b);
}
int main(){
    getline(cin,a);
    for(int i=a.length()-1;i>=0;i--){
          if(a[i]>='A'&&a[i]<='Z'){
            if(q==0)printf("%c",b);q=1;
            mm(a,i),i=y;
        }            
        if(a[i]>='a'&&a[i]<='z'){
            if(q==0)printf("%c",b);q=1;
            mn(a,i),i=y;
            }
        if(isdigit(a[i]))  			{printf("%c",a[i]);q=0;}
    }
}

回复

1 条回复,欢迎继续交流。

正在加载回复...