A24164. 整理药名
填空题
中等
知识点
题目描述
整理药名
题目描述
医生在书写药品名的时候经常不注意大小写,格式比较混乱。现要求你写一个程序将医生书写混乱的药品名整理成统一规范的格式,即药品名的第一个字符如果是字母要大写,其他字母小写。如将ASPIRIN、aspirin整理成Aspirin。
输入
第一行一个数字n,表示有n个药品名要整理,n不超过100。
接下来n行,每行一个单词,长度不超过20,表示医生手书的药品名。药品名由字母、数字和-组成。
输出
n行,每行一个单词,对应输入的药品名的规范写法。
输入样例
4
AspiRin
cisapride
2-PENICILLIN
Cefradine-6输出样例
Aspirin
Cisapride
2-penicillin
Cefradine-6参考答案
#include <bits/stdc++.h>
using namespace std;
int main()
{
string s;
int n;
cin >> n;
for(int i = 0; i < n; ++i)
{
cin >> s;
if(s[0] >= 'a' && s[0] <= 'z')//如果首字母是小写字母
s[0] = s[0] - 'a' + 'A';//变为大写字母
for(int j = 1;j < s.length(); ++j)
{
if(s[j] >= 'A' && s[j] <= 'Z')//如果某字母是大写字母
s[j] = s[j] - 'A' + 'a';//变为小写字母
}
cout << s << endl;
}
return 0;
}答案解析
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n, len;
char s[25];
cin >> n;
for(int i = 0; i < n; ++i)
{
cin >> s;
len = strlen(s);
s[0] = toupper(s[0]);
for(int j = 1; j < len; ++j)
s[j] = tolower(s[j]);
cout << s << endl;
}
return 0;
}
上一题
下一题