这题看懂的都看得懂,看不懂压根不会看。
注意是每个单词都有单独的判断,不会有人压根不管空格直接输入的吧(cin;scand)!
由于要空格所以gets!(不是)实际要用getline(cin,变量);
以下是代码
#include <bits/stdc++.h>
using namespace std;
int main ()
{
char a[256];
getline(cin,a); // 使用getline获取一行输入
int j;
for(int i=0;i<strlen(a);i++)
{
if(a[i]==char(32)) // 如果字符是空格,则将计数器j重置为0,表示下一个单词的第一个字母
{
j=0;
}
if(j%2!=0&&(a[i]>='a'&&a[i]<='z')) // 如果单词的位置是奇数,并且字母是小写字母,则转换为大写
{
a[i]=char(a[i]-32);
}
if(j%2==0&&(a[i]>='A'&&a[i]<='Z')) // 如果单词的位置是偶数,并且字母是大写字母,则转换为小写
{
a[i]=char(a[i]+32);
}
j++;
}
cout<<a;
return 0;
}
饭都喂到嘴里啦,提交干嘛快去愣着啊!
char(32)就是空格,不要说看不懂!注释是个好东西