首字符单独转大写,其余字符统一转小写,规范化药品名称。
OJ: noi_openjudge
题目 ID: ch0107-15
难度:入门
标签:字符串模拟python
日期: 2026-07-30 23:01
题意
将每个药名整理为首字符若为字母则大写,其余字母小写的形式。
思路
把第一个字符和后缀分开:name[0].upper() 处理首字符,name[1:].lower() 处理其余字符。首字符为数字或连字符时 upper() 不改变它。
代码
Python代码
python
count = int(input())
for _ in range(count):
name = input().strip()
print(name[0].upper() + name[1:].lower())C++代码
cpp
#include <cstdio>
#include <cstring>
int n;
char str[500];
int main(){
scanf("%d",&n);
int i,j;
for (i=1;i<=n;i++){
scanf("%s",str+1);
int len = strlen(str+1);
if( str[1] >='a' && str[1] <='z'){
printf("%c",str[1]+'A'-'a');
}
else
printf("%c",str[1]);
for (j=2;j<=len;j++){
if( str[j] >='A' && str[j] <='Z'){
printf("%c",str[j]+'a'-'A');
}
else
printf("%c",str[j]);
}
printf("\n");
}
return 0;
}复杂度
设所有药名总长度为
总结
格式化首字符时,先分割首字符和剩余部分比复杂条件判断更直接。