C++问题讨论,这个怎么做

img

#include
#include
using namespace std;
int main()
{
string s;
getline(cin,s);
for (int i = 0; i < s.length(); i++)
{
if (s[i]>=97&&s[i]<=122)
{
s[i] -= 32;
}
}
cout << s << endl;
}

查看ASCII码表,对应字母大小写直接相差32,这是关键点

#include <stdio.h>
int main()
{
    char c[500];
    int i;
    printf("请输入一串字符串");
    gets(c);
    for(i=0;c[i];i++)
    {
        if(c[i]>='a'&&c[i]<='z')
            c[i]-=32;
    }
        puts(c);
    return 0;
}


这是C++


#include <iostream>
using namespace std;
int main()
{
    char c[500];
    int i;
    printf("请输入一串字符串");
    cin >> c;
    for(i=0;c[i];i++)
    {
        if(c[i]>='a'&&c[i]<='z')
            c[i]-=32;
    }
    cout << c;
    return 0;
}