输入一个小写字母,输出其对应的大写字母。例如输入 q[回车] 时,会输出 Q。
当时不知道我在想什么,第一遍打的时候写了一个巨长无比的代码。虽然AC了,但是很浪费时间QAQ。
#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
int i;
char a;
char str[100];
for(i=0;;i++)
{
a=getchar();
if(a=='\n')
break;
str[i]=a;
}
str[i]='\0';
for(i=0;str[i]!='\0';i++)
{
if(str[i]>='a' && str[i]<='z')
str[i]-=32;
cout<<str[i];
}
return 0;
}
上面的方法只是起警示作用,下面的代码才是人写的。
利用ASCII码可以一步到位,C++字符的所有转换形式都是依照ASCII码来的,小写字母=大写字母+32,大写字母=小写字母-32,所以直接:
#include<bits/stdc++.h>
using namespace std;
int main()
{
char a;
cin>>a;
cout<<char(a-32);//用char进行强制转换
return 0;
}
这里再提一个C++自带的内置函数:toupper( )
(大写转小写自然是tolower( ))
#include<bits/stdc++.h>
using namespace std;
int main()
{
char a;
cin>>a;
a=toupper(a);
cout<<a;
return 0;
}
这样也可以进行小写转换大写操作。