July Challenge 2017 | Whats in the Name
生活随笔
收集整理的這篇文章主要介紹了
July Challenge 2017 | Whats in the Name
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
題意
Nitika 讀了一本歷史書,想要理清其中的人物關(guān)系。因此她要她的哥哥把書中出現(xiàn)的歷史人物全部列出來(lái)。哥哥把列好的人名給了 Nitika,但 Nitika 非常不滿意,因?yàn)楦绺缌谐龅倪@些人名格式非常不規(guī)范。處于強(qiáng)迫癥,Nitika 決定自己來(lái)整理這些人名。
一個(gè)名字最多有三個(gè)部分:姓、名,和中間名,按照名、中間名、姓的順序排列;最少也有姓這一個(gè)部分。Nitika 決定把人名寫成下面的格式:
? 只有每個(gè)部分的首字母是大寫;
? 除了姓之外,每個(gè)部分用其大寫首字母加一個(gè)‘.’表示。
比如,按這個(gè)規(guī)則對(duì)一些名字進(jìn)行改寫:
? gandhi → Gandhi
? mahatma gandhI → M. Gandhi
? Mohndas KaramChand gandhi → M. K. Gandhi
題意
先將所有的字母轉(zhuǎn)為小寫,然后記錄空格的位置,再將第一個(gè)字母、空格后的字母大寫后加‘.’輸出,將最后空格后面的字母全部輸出。
參考代碼
#include <bits/stdc++.h> using namespace std; char s[100]; char ans[100]; int tmp[100]; int main(){int t;cin>>t;cin.getline(s,100);while (t--){memset(ans,0,sizeof(ans));cin.getline(s,100);int len=strlen(s);int cnt=0;for (int i=0;i<len;i++){if ('A'<=s[i] && s[i]<='Z')s[i]=s[i]-'A'+'a';if (s[i]==' ')tmp[cnt++]=i;}if (!cnt){s[0]=s[0]-'a'+'A';cout<<s<<endl;}else{cout<<char(s[0]-'a'+'A')<<"."<<" ";for (int i=0;i<cnt-1;i++)cout<<char(s[tmp[i]+1]-'a'+'A')<<"."<<" ";cout<<char(s[tmp[cnt-1]+1]-'a'+'A');for (int i=tmp[cnt-1]+2;i<len;i++)cout<<s[i];cout<<endl;}}return 0; }總結(jié)
以上是生活随笔為你收集整理的July Challenge 2017 | Whats in the Name的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 都 2022 年了!日本政府还在用软盘?
- 下一篇: 泰州职业技术学院 计算机专业,泰州职业技