小X與縮寫


題目:
時間限制 : 1 Sec
內存限制 : 128 Mb
提交 : 91
解決 : 50

題目描述

小X注意到,生活中有很多用到首字母縮寫的例子。例如UOJ就是通用在線評測(Universal Online Judge)的縮寫。

我們定義一個英文詞組的首字母縮寫為:取出詞組中每個單詞的第一個字母、全部轉化成大寫並順次連接。

於是小X想請你幫忙寫一個程序,讀入一行英文句子,將用括號括出的詞組替換為首字母縮寫再輸出。

 

輸入

輸入一行僅包含英文字母、英文逗號’,’、英文句號’.’、左右括號’()’的句子。

保證括號配對、括號內僅包含若干用空格隔開的英文單詞、沒有多余的空格。

 

輸出

輸出一行,將括號內的詞組替換成首字母縮寫的結果輸出,括號不要輸出,括號外的字符原樣輸出。

 

樣例輸入 

The (longest increasing subsequence) problem can be solved with (dynamic programming), and optimized with (binary indexed tree).

樣例輸出 

The LIS problem can be solved with DP, and optimized with BIT.
 
方法:
1、一個一個讀入;
2、如果不為‘(’就輸出;
3、是,條件循環直到讀入‘)’;
4、邊讀邊判斷,如果前一個是‘(’或‘(空格)’就輸出大寫;
5、好了。
 
標程:
 #include<bits/stdc++.h>
using namespace std;
int i=0;
char c[10000];
int main()
{
 i++;
 c[i]=getchar();
 while(c[i]!='\n')
 {
  if (c[i]!='(')
  {
   cout<<c[i];
  }
  else
  {
   while (c[i]!=')')
   {
       i++;
    c[i]=getchar();
    if ((c[i-1]==32||c[i-1]=='(')&&c[i]!=')')
    {
     if (c[i]>'Z')cout<<char(c[i]-32);
     else cout<<c[i];
    }    
   }
  }
  i++;
  c[i]=getchar();
 }
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM