网页
资讯
视频
图片
知道
文库
贴吧
地图
采购
进入贴吧
全吧搜索
吧内搜索
搜贴
搜人
进吧
搜标签
日
一
二
三
四
五
六
签到排名:今日本吧第
个签到,
本吧因你更精彩,明天继续来努力!
本吧签到人数:0
一键签到
成为超级会员,使用一键签到
一键签到
本月漏签
0
次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行
补签
。
连续签到:
天 累计签到:
天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
09月24日
漏签
0
天
c语言吧
关注:
793,027
贴子:
4,315,133
看贴
图片
吧主推荐
视频
游戏
9
回复贴,共
1
页
<<返回c语言吧
>0< 加载中...
求助
为什么我这个没有实现字符串中插入一个字符?
只看楼主
收藏
回复
baka-_-
异能力者
6
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
大佬救救小白
我的代码(部分)
void transform_letter(string str)
{
char* head=&str[lbk]0[rbk],*p=&str[lbk]0[rbk];
string num,letter,temp;
if((*head)>47&&(*head)<58)
{
if((*p)>47&&(*p)<58)
{
num+=(*p);
p++;
}
else
{
letter+=(*p);
p++;
}
}
else
{
*head-=32;
}
const char* pt=str.c_str();
temp+=num;
temp+='_';
temp+=letter;
pt=&temp;
}
baka-_-
异能力者
6
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
题目描述
串的处理
在实际的开发工作中,对字符串的处理是最常见的编程任务。本题目即是要求程序对用户输入的串进行处理。具体规则如下:
1. 把每个单词的首字母变为大写。
2. 把数字与字母之间用下划线字符(_)分开,使得更清晰
3. 把单词中间有多个空格的调整为1个空格。
输入
例如:
用户输入:
you and me what cpp2005program
输出
则程序输出:
You And Me What Cpp_2005_program
Kolkas
帕秋莉糕
12
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
逻辑部分虽然看不太懂在干什么
,但是参数部分没加引用,无论如何都是不可能修改原始字符串的
baka-_-
异能力者
6
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
void transform_letter(string str){
char* head=&str[0],*p=&str[0]; //head指针指向str第一个字符,p指针相当于iterator
string num,letter,temp; //num存储字符串数字部分,letter存储字符串字母部分
if((*head)>47&&(*head)<58) //处理第一个字符,如果第一个字符为数字的情况 { if((*p)>47&&(*p)<58) //字符串数字部分存储到num中 { num+=(*p); p++; } else //不是数字的字符存储到letter中
{ letter+=(*p); p++; } }
else //如果字符串第一个字符是字母的话
{ *head-=32; }
string* pt=str; //指针指向需要处理的字符串
temp+=num;
temp+='_'; //将数字与字母部分之间加上 '_',并赋值给temp;
temp+=letter;
*pt=temp; //将字符串替换.}
GTA小鸡
吧主
13
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
你的函数参数是值传递,又没有返回值,函数里做的一切都没有意义,结果传不出去
登录百度账号
扫二维码下载贴吧客户端
下载贴吧APP
看高清直播、视频!
贴吧页面意见反馈
违规贴吧举报反馈通道
贴吧违规信息处理公示