【发布时间】:2014-11-01 07:32:15
【问题描述】:
我有两个问题。我需要编写一个程序来提取所有非字母字符并显示它们,然后将它们删除。
我正在使用适用于符号的 isalpha,但前提是输入字符串没有像“hello world”这样的空格
但如果是多个单词,比如“hello!world!”,它只会提取第一个感叹号,而不会提取第二个感叹号。
可能相关的第二个问题,我希望我的程序检测单词之间的空格(我尝试过 isspace 但我一定是用错了?然后删除它们并将它们放入 char 变量中
例如 如果输入是 hello4 world!你今天好吗? 我想让它告诉我
删除:4 删除: 删除:! 删除: 删除:3 删除: 删除: 删除:
长话短说,如果没有其他办法,我想将空格检测为 !isalpha,或者为文本之间的空格找到类似于 isalpha 的内容。
谢谢
# include <iostream>
# include <string>
using namespace std;
void main()
{
string message;
cin >> message;
for (int i = 0; message[i]; i++)
if(!isalpha(message[i]))
cout << "deleted following character: " << message[i] <<endl;
else
cout <<"All is good! \n";
}
【问题讨论】:
-
为你的家庭作业写代码开始破解(我注意到你很久没有成为会员,不明白我们不是免费写代码)
-
我不希望任何人免费编写我的代码 :) 我想告诉我为什么 isalpha 没有检测到第二个或第三个单词中的符号,只是第一个。我确实是一个新成员,对编程和自学atm也很陌生。我通过解决我在网上找到的问题来练习,但我被困在这个自动取款机上:) 不过谢谢。 PS。我只写了我想要的输出来解释我希望它在删除空格时告诉我。不要让你写它:)
-
为什么不把你的代码放在这里 - 它没有按预期工作的原因可能有很多原因
-
我现在正在尝试这样做..试图弄清楚如何:P
-
向我们展示你的尝试(并确保它可以编译)
标签: c++ extract space alphabetic