目录

大小写字母互换-输入与输出字符串

目录

【题目描述】

小明在录入一篇英文文献时由于键盘误操作,事先按下了CapsLock(大写锁定)键,然后又按照平时的录入习惯进行操作。结果录入的内容里面,原本应该是英文大写的地方都变成了小写,而原来应该是英文小写的地方都变成了大写。如果重新录入的话实在太可怕了!

【输入格式】

任意一个字符串(长度小于等于80),以换行结束。

【输出格式】

转换后的字符串。

For example:

Input

Result

i AM A STUDENT.i AM 19.

I am a student.I am 19.

答案

#include <iostream>

using namespace std;

int main()
{
    char a[90];
    int i=0;
    cin.getline(a,90);
    for(i=0;a[i]!='\0';i++)
    {
        if(a[i]>='a' && a[i]<='z')
        {
            a[i] = a[i] - 32;
        }
        else if(a[i]>='A' && a[i]<='Z')
        {
            a[i] = a[i] + 32;
        }


    }
    puts(a);

    return 0;
}

这题算法很简单,难的是输入与输出,试了很久,最终用这种输入方法可以实现。

发现了几个问题1.网上查的ascii码跟实际程序里的对不上,查ascii码可以用下面这个代码

#include <iostream>

using namespace std;

int main()
{
    char a[20];
    cin.getline(a,90);
    int i;

    cout << a[0] - '0';
    return 0;
}

2.字符数组可以直接cin»a;和cout«a;