问题标题: 酷町堂:暑假问答第六天

0
0
已解决
包涵宇
包涵宇
中级天翼
中级天翼

昨天前天都忘了发,所以今天三更

上问题:

 

1093   书名规范管理、

WA16分

#include<iostream>
#include<cstdio>
#include<cstring>
#include<map>
#include<queue>
#include<cmath>
#include<algorithm>
using namespace std;
string a;
int main(){
	int n;
	cin>>n;
	getline(cin,a); 
	for(int i=1;i<=n;i++){
		getline(cin,a); 
		if(a[0]>='a'&&a[0]<='z')cout<<char(a[0]-32);
		for(int j=1;j<a.size();j++){
			if(a[j]>='A'&&a[j]<='Z')
				cout<<char(a[j]+32);
			else 
				cout<<a[j];
		}
		cout<<"\n";
	}
	
	return 0;
}

威慑么?

包涵宇在2020-07-13 14:11:30追加了内容

顶!

包涵宇在2020-07-13 15:00:29追加了内容

顶!!!

包涵宇在2020-07-14 10:29:32追加了内容

顶顶顶!!!


0
已采纳
董子墨
董子墨
中级天翼
中级天翼

a[0]如果是小写字母的话,你会输出,那么如果它是大写字母呢?

0
许雨航
许雨航
初级守护
初级守护
  • string s[101],ss;
  • int main()
  • {
  • int l,n;
  • cin>>n;
  • for(int i=1;i<=n;++i)
  • {
  • cin>>s[i];
  • }
  • for(int i=1;i<=n;++i)
  • {
  • ss=s[i];
  • if(ss[0]>='a'&&ss[0]<='z')
  • ss[0]-=32;
  • l=ss.size();
  • for(int j=1;j<l;++j)
  • if(ss[j]>='A'&&ss[j]<='Z')
  • ss[j]+=32;
  • s[i]=ss;
  • }
  • for(int i=1;i<=n;++i)
  • cout<<s[i]<<endl;
  • return 0;
  • }
0
王子凡
王子凡
高级光能
高级光能

这题还是比较简单的,

只要判断一下s[0]是不是大写,如果不是将他+32

if (s[0]>='a' && s[0]<='z')
            s[0]-=32;

再循环判断后面的部分,如果是大写再转为小写,最后输出就可以了

for (j=1;j<s.size();j++)
        {
            if (s[j]>='A' && s[j]<='Z')
                s[j]+=32;
        }

 

我要回答