求助,如何用c++实现字母大小写转换

bshedu 2011-04-17 04:39:11
•输入:任意一句英文,以“.”结束

•输出:所有单词首字母大写,后续字母小写,非字母保持不变

•要求:

用函数实现大写到小写的转换

用函数实现小写到大写的转换


这是我的作业题,请大家帮帮忙
...全文
678 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
p95635746 2011-04-17
  • 打赏
  • 举报
回复

#include <iostream>
#include <string>
#include <sstream>
#include <cctype>
using namespace std;

int main()
{
string line, word;
while(getline(cin, line))
{
istringstream stream(line);
while(stream >> word)
{
for(string::iterator iter= word.begin(); iter != word.end(); ++iter)
{
if(isalpha(*iter) && iter == word.begin())//判断每个空格后的第一个字符是不是字母,如果是的话,执行if语句
{
*iter = toupper(*iter);//将每个单词的首字母大写
}
else if(isalpha(*iter))
{
*iter = tolower(*iter);
}
}
cout << word << " ";
}
}
cout << endl;
return 0;
}

简单写了一个,不是很好,基本能满足LZ的要求!!!
luciferisnotsatan 2011-04-17
  • 打赏
  • 举报
回复
a ^= 0x20 大写
a |= 0x20 小写
bshedu 2011-04-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 happymawolf 的回复:]

输入字符串,然后和ascii码表中的值进行对比替换就可以了!
[/Quote]

我知道是加或减32,但是要判断是否是空格之后的单词我不会写实现的代码。初学~~~求关键代码
TallPeaks 2011-04-17
  • 打赏
  • 举报
回复
作业题貌似没人帮忙做哦。
书虫 2011-04-17
  • 打赏
  • 举报
回复
输入字符串,然后和ascii码表中的值进行对比替换就可以了!

15,440

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧