A32878. 统一文件名小A在命名文件的时候经常不注意大小写,格式比较混乱。现要求你写一个程序将目录下的文件统一规范的格式,即文件名的第一个字符如果是字母要大写,其他字母小写。如将Test、test整理成Test。输入第一行一个数字n,表示有n个文件名要统一,n不超过100。 接下来n行,每行一个单词,长度不超过20,表示文件的名字。文件名由字母、数字和-组成。输出n行,每行一个单词,对应统一后的文件名。样例…
填空题
较易
知识点
题目描述
统一文件名
小A在命名文件的时候经常不注意大小写,格式比较混乱。现要求你写一个程序将目录下的文件统一规范的格式,即文件名的第一个字符如果是字母要大写,其他字母小写。如将Test、test整理成Test。
输入
第一行一个数字n,表示有n个文件名要统一,n不超过100。 接下来n行,每行一个单词,长度不超过20,表示文件的名字。文件名由字母、数字和-组成。
输出
n行,每行一个单词,对应统一后的文件名。
样例输入
4
Test
data
2-TEST
problem-6样例输出
Test
Data
2-test
Problem-6参考答案
#include <bits/stdc++.h>
using namespace std;
int main()
{
char s[25];
int n;
cin>>n;
for(int i=1;i<=n;i++){
cin>>s;
int ls=strlen(s);
if(s[0]>='a'&&s[0]<='z') s[0]-=32;
for(int j=1;j<ls;j++){
if(s[j]>='A'&&s[j]<='Z')
s[j]+=32;
}
cout<<s<<endl;
}
return 0;
}答案解析
//参考答案2
#include <iostream>
#include <string>
using namespace std;
int main() {
string s;
int n;
cin >> n;
while (n--) {
cin >> s;
if (s[0] >= 'a' && s[0] <= 'z')
s[0] -= 32;
int ls = s.size();
for (int i = 1; i < ls; i++)
if (s[i] >= 'A' && s[i] <= 'Z')
s[i] += 32;
cout << s << endl;
}
return 0;
}
上一题
下一题