#include
#include
using namespace std;
int main()
{
char s[105];
scanf("%s",s);
for(int i=0;i<strlen(s);i++)
{
if(s[i]>='a'&&s[i]<='z')
printf("%c",s[i]-'a'+'A');
else
printf("%c",s[i]);
}
return 0;
}
按照ASCII计算。
'a'=97,'A'=65,就是说小写字母的ASCII码比大写字母大32,
所以-97+65=-32,就可以把小写字母变成大写。
你可以直接改成s[i]-32
(-a+A) (-b+B) (-c+C)都可以(懒得写引号了),他们的值都是-32,表示任意字母的小写ASCII比大写大32。
s[i]-'a'+'A' 就是将s[i]字符由小写改为大写字符
比如s[i] = 'd',s[i] - 'a'就是3,然后'A' + 3就是'D'。