题目描述
医生在书写药品名的时候经常不注意大小写,格式比较混乱。现要求你写一个程序将医生书写混乱的药品名整理成统一规范的格式,即药品名的第一个字符如果是字母要大写,其他字母小写。
如将 ASPIRIN 、 aspirin 整理成 Aspirin。
输入格式
第一行一个数字 n,表示有 n 个药品名要整理,n 不超过 100。
接下来 n 行,每行一个单词,长度不超过 20,表示医生手书的药品名。
药品名由字母、数字和 - 组成。
输出格式
nn 行,每行一个单词,对应输入的药品名的规范写法。
一看题就知道,这实际上就是一个大小写的转换
众所周知,a的ASCII码(美国信息交换标准代码)为65,A为97,相差32。
所以直接遍历就好啦!
#include <bits/stdc++.h>
using namespace std;
int b[30001];
void zhuan(string &name)
{
int len=name.size();
for(int i=0;i<len;i++)
{
if(i==0)
{
if(name[i]>='a'&&name[i]<='z')
{
name[i]-=32;
}
}
else
{
if(name[i]>='A'&&name[i]<='Z')
{
name[i]+=32;
}
}
}
}
int main()
{
int n;
cin>>n;
string names[101];
for(int i=0;i<n;i++)
{
string s;
cin>>s;
names[i]=s;
}
for(int i=0;i<n;i++)
{
zhuan(names[i]);
cout<<names[i]<<endl;
}
cout<<endl;
return 0;
}
温馨提示:点击此处全是水题
互关一下好不好……