注册 登录
编程论坛 C++教室

求写一个字符串处理函数

lixang 发布于 2007-03-16 11:36, 839 次点击
写一个字符串处理函数
1 输入一个中文字符串,将其标点符号去掉!
就像下面的例子!
2 统计各个标点的个数!

输入:
此句中文里面,含有许多标点:这些标点是中文标点!非英文标点。
输出:
此句中文里面含有许多标点这些标点是中文标点非英文标点
逗号出现了1次
句号出现了1次
感叹号出现了1次
冒号出现了1次
其他符号暂时没出现在此句中!
4 回复
#2
Arcticanimal2007-03-20 20:19
想象力还满丰富  C++不能识别中文的标点能有什么办法?
#3
dlcdavid2007-03-22 13:32

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

int main()
{
char input;
string sentence;
int dh=0,jh=0,gth=0,mh=0;//逗号\句号\感叹号\冒号个数
while(cin>>input && input!='0')
{
switch(input)
{
case ',':
++dh;
break;
case '.':
++jh;
break;
case '!':
++gth;
break;
case ':':
++mh;
break;
default:
sentence+=input;
}
}
cout<<sentence <<endl;
cout<<"逗号出现了" <<dh <<"次\n"
<<"句号出现了" <<jh <<"次\n"
<<"感叹号出现了" <<gth <<"次\n"
<<"冒号出现了" <<mh <<"次\n";
return 0;
}

#4
dlcdavid2007-03-22 13:36
while(cin>>input && input!='0')
这个地方的判断可以自己改改
还要其他符号自己加就是了
还可以加个判断
如:
if(dh!=0)
cout<<"逗号出现了" <<dh <<"次\n"
最后再加一句
cout<<"其他标点符号...."
#5
lixang2007-03-22 14:19
楼上的同志你好!
我要处理的是不含任何西文字符!中文字符,中文标点!非西文标点!不含任何西文字符!

不含任何西文字符!
不含任何西文字符!
不含任何西文字符!
中文字符,中文标点!非西文标点!
中文字符,中文标点!非西文标点!
中文字符,中文标点!非西文标点!


1