问题标题: 酷町堂:1712 全大全小 我的代码哪里错了???

0
0
已解决
张舒斌
张舒斌
中级光能
中级光能
#include<bits/stdc++.h>
using namespace std;
int main()
{
    string a,big,small;
    cin>>a;
    for(int i=1;i<=a.size();i++)
    {
        big[i]=(char)(a[i]-32);
        small[i]=(char)(a[i]+32);
    }
    cout<<big<<endl<<small;
    return 0;
}

题目


0
已采纳
时梓繁
时梓繁
修练者
修练者

定义一个字符串,s;

getline(cin,s);

for (int i=0;i<s.size();i++)//字符串从0开始,到这个字符串的长度-1为止。

{

if(这个字符为小写字符)

s[i]=char(s[i]-32); //这个很重要,大写字符的ASCLL码==对应小写字符的ASCLL码-32;

}

输出s字符串。

同理,大写字符便小写字符就简单了,再操作一遍,只是判断不许判断了(因为都是大写字符了。),直接把大写字符转换位小写字符,输出就行了。

100AC

0
丁政元
丁政元
初级光能
初级光能

for(int i=1;i<=a.length();i++)
        {
            if(a[i]>='A'&&a[i]<='Z')
            big[i]=a[i];
            if(a[i]>='a'&&a[i]<='z')
            big[i]=(char)(a[i]-32);
           }
        for(int i=1;i<=a.length();i++){
            if(a[i]>='a'&&a[i]<='z')
            small[i]=a[i];
            if(a[i]>='A'&&a[i]<='Z')
            small[i]=(char)(a[i]+32);
        }

核心代码

a.length()

0
丁政元
丁政元
初级光能
初级光能
     for(int i=0;i<a.length();i++)
        {
            if(a[i]>='A'&&a[i]<='Z')
            big[i]=a[i];
            if(a[i]>='a'&&a[i]<='z')
            big[i]=(char)(a[i]-32);
        }
        for(int i=0;i<a.length();i++){
            if(a[i]>='a'&&a[i]<='z')
            small[i]=a[i];
            if(a[i]>='A'&&a[i]<='Z')
            small[i]=(char)(a[i]+32);
        } 
 

 

0
我要回答