1139:整理藥名
時間限制: 1000 ms 內存限制: 65536 KB
提交數: 14720 通過數: 7214
【題目描述】
醫生在書寫藥品名的時候經常不注意大小寫,格式比較混亂。現要求你寫一個程序將醫生書寫混亂的藥品名整理成統一規範的格式,即藥品名的第一個字符如果是字母要大寫,其他字母小寫。如將ASPIRIN、aspirin整理成Aspirin。
【輸入】
第一行一個數字n,表示有n個藥品名要整理,n不超過100。
接下來n行,每行一個單詞,長度不超過20,表示醫生手書的藥品名。藥品名由字母、數字和-組成。
【輸出】
n行,每行一個單詞,對應輸入的藥品名的規範寫法。
【輸入樣例】
4
AspiRin
cisapride
2-PENICILLIN
Cefradine-6
【輸出樣例】
Aspirin
Cisapride
2-penicillin
Cefradine-6
思路:先將頭字符轉換成大寫,然後再將其他字符轉換成小寫。
#include<cstdio>
#include<iostream>
#include<cstring>
using namespace std;
string s[101],ss;
int main()
{
int i,n,j,l,k;
scanf("%d",&n);
for(i = 1;i <= n;i++)
cin >> s[i];
for(i = 1;i <= n;i++)
{
ss=s[i];
if(ss[0] >= 'a'&&ss[0] <= 'z')//將頭字符s[0]轉換成大寫
ss[0] -= 32;
l = ss.size();
for(j = 1;j < l;j++)
if(ss[j] >= 'A' && ss[j] <= 'Z')//將除開頭之外字符s[0]轉換成大寫
ss[j] += 32;
s[i] = ss;
}
for(i=1;i<=n;i++)
cout<<s[i]<<endl;
return 0;
}