| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 549 人关注过本帖
标题:[求助]一道C++的题目
只看楼主 加入收藏
cloudbian
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2007-8-3
收藏
 问题点数:0 回复次数:7 
[求助]一道C++的题目
把每个字符往后移一位,例如: i am tt变成 j bn uu请利用这个原理和字符的的储存原理,这个程序怎么写啊特别是句子改变后空格输出的还是空格
求助!!!!!!!!!!!!!!
2007-08-03 16:20
bupthehe
Rank: 1
等 级:新手上路
帖 子:61
专家分:0
注 册:2007-8-2
收藏
得分:0 
ascII码加一位就行了啊,空格的话就不加啊
2007-08-03 17:00
aipb2007
Rank: 8Rank: 8
来 自:CQU
等 级:贵宾
威 望:40
帖 子:2879
专家分:7
注 册:2007-3-18
收藏
得分:0 

getline(cin,str);
for (string::sizetype i = 0;i < str.size();++i)
if (isalpha(str[i]))
str[i]+=1;


Fight  to win  or  die...
2007-08-03 17:38
cfd
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2007-8-3
收藏
得分:0 

刚学C++...不是很懂楼上的.自己写了个简单点的,通过编译且可以得到结果,就是结果出来后报错...

麻烦各位大大帮忙看看,谢谢.

#include<iostream>
using namespace std;

const int MAX=50;

int main()
{
char *str=new char[MAX];
char *p=str;

do
{
cin.get(*str);
}
while(*(str++)!='\n');
cout<<endl;

while(*p!='\n')
{
if(*p!=' ')cout<<++(*p);
else cout<<' ';
p++;
}
cout<<endl;

delete []str;

return 0;
}





[此贴子已经被作者于2007-8-3 18:17:09编辑过]

2007-08-03 18:15
antter
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2005-8-27
收藏
得分:0 
你的str因为while(*(str++)!='\n')指针飘掉了.已无法delete[]
2007-08-03 18:56
medicihophy
Rank: 1
等 级:新手上路
威 望:1
帖 子:102
专家分:0
注 册:2007-7-28
收藏
得分:0 
唉,这个习惯不好啊,应该是编C编多了吧,大不了用*(str+i++)也好些

2007-08-03 19:27
cfd
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2007-8-3
收藏
得分:0 

原来如此,虽然不太明白5楼的意思,但经6楼指点已经解决.

感谢楼上两位.

2007-08-03 20:02
wangweicoin
Rank: 1
等 级:新手上路
威 望:1
帖 子:58
专家分:0
注 册:2007-7-16
收藏
得分:0 

指针飘掉了是什么意思?


~我的人生不是套公式~
2007-08-05 14:12
快速回复:[求助]一道C++的题目
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021406 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved