如何从键盘输入一个字符 如果该字符为小写字母,则将其转换为大写字母并输出如果是小写字母就转换为大写字母,如果为其他字符则按原样输出?(语言-c++)

如何从键盘输入一个字符 如果该字符为小写字母,则将其转换为大写字母并输出如果是小写字母就转换为大写字母,如果为其他字符则按原样输出?(语言-c++)

#include <iostream>
using namespace std;
int main()
{
    char c;
    cin>>c;
    if(c>='a' && c<='z')
        c -= 32;
    else if(c>='A' && c<='Z')
        c += 32;
    cout<<c<<endl;
}

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/7514517
  • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:C语言编写程序:从键盘输入一个小写字母,该字母加密后变成其后继第2个字母输出。
  • 除此之外, 这篇博客: 大数与高精度的一系列计算(C++)(新手入门)中的 大数乘大数在大数乘小数的基础上延申,即交叉相乘,有些代码把交叉相乘和处理进位放在一起,但我觉得不直观,即使少遍历了一遍,但是然并卵,这里交叉相乘后再统一处理进位,看起来爽一些,代码如下 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:
    //大数乘大数
    #include<iostream>
    #include<string>
    #define MAXN 100+4
    using namespace std;
    int main()
    {
        string s1;
        string s2;
        int a[MAXN]={};
        int b[MAXN]={};
        /*由于a数组的数据要多
        次用到,所以决定另开辟
        一个数组*/
        int c[MAXN]={};
        cin>>s1;
        cin>>s2;
        for(int i=0;i<s1.size();i++)
        {
            a[i]=s1[s1.size()-1-i]-'0';
        }
        for(int i=0;i<s2.size();i++)
        {
            b[i]=s2[s2.size()-1-i]-'0';
        }
        for(int i=0;i<s1.size();i++)//采用交叉相乘
        {
            for(int j=0;j<s2.size();j++)
            {
                c[i+j]+=a[i]*b[j];
            }
        }
        int jw=0;
        for(int i=0;i<MAXN;i++)//开始处理进位
        {
            c[i]+=jw;
            jw=c[i]/10;
            c[i]%=10;
        }
        int len=MAXN;
        for(int i=len-1;i>=0;i--)
        {
            if(c[i]==0&&len>1)
            {
                len--;
            }
            else
            {
                break;
            }
        }
        for(int i=len-1;i>=0;i--)
        {
            cout<<c[i];
        }
        cout<<endl;
        return 0;
    }
    
    
  • 您还可以看一下 尹成老师的C语言系列之 数组与算法实战课程中的 3.数组越界查找极大值极小值选择排序法小节, 巩固相关知识点

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^