1 条题解

  • 0
    @ 2023-6-11 12:16:30

    C++ :

    #include<bits/stdc++.h>
    using namespace std;
    
    string upper(string s){
    	int i;
    	for(i = 0;i < s.size();i++){
    		if(s.at(i) >= 'a' && s.at(i) <= 'z'){
    			s[i] = s[i] - 32;
    		}
    	}
    	
    	return s;
    }
    
    int main(){
         string s,r,t;
         int i;
         getline(cin,s);
         bool f = true;//代表处于正常拷贝状态 
          
         //循环将s中有效的内容放入r中
    	 for(i = 0;i < s.size();i++){
    	 	 if(s[i] == '('){
    	 		f = false;//开始拷贝缩写 
    	 		t = "";//t用来放缩写,先初始化为空的 
    	 		continue;//开始的(不拷贝 
    		 }else if(s[i] == ')'){
    		 	f = true;//缩写结束 
    		 	t = upper(t);
    		 	r = r + t;
    		 	continue;//结束的)不拷贝 
    		 } 
    		 
    		 //如果是正常状态 
    		 if(f == true){
    		 	r = r + s[i];
    		 }else{
    		 	 //首字母 
    		 	 if(s[i - 1] == ' ' || s[i - 1] == '('){
    		 	      t = t + s[i];	
    			 }  
    		 }
    	 } 
    	 
    	 cout<<r<<endl; 
    }
    
    

    Python :

    b=input()
    y1=0
    a=b.split()
    for i in a:
      if '(' in i:
        y1=1
      if y1==0:
        print(i,end=" ")
      else:
        en=i[len(i)-1]
        if '(' in i:
          print(chr(ord(i[1])-32),end='')
        else:
          print(chr(ord(i[0])-32),end='')
        if en==',' or en=='.':
          print(en,end=' ')
        elif en==')':
          print('',end=' ')
      if ')' in i:
        y1=0
    
    • 1

    信息

    ID
    2187
    时间
    1000ms
    内存
    128MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者