很恶心的一个关于字符串的题目!
2009-06-26 16:14
232 查看
#include <iostream> #include <cstring> #include <string> using namespace std; int main() { int n,c,i,j,h[10]; //n用来存储字符串长度,i j用来计数,h存放查找的字符串出现的位置 char st[100],s,z[20],x[20],m; //s在空格转换和判断是否是用到,m判断是用到,z x用来存放要查询的字符串 cout<<"请输入一段英文句子:"; gets(st); n=strlen(st); while(st[n-1]==' ') //把后面的空格放到前面 { s=st[n-1]; for(i=n-1;i>=0;i--) { if(i==0) break; st[i]=st[i-1]; } st[i]=s; } for(i=n-1;i>=0;i--) //把中间多余的空格去掉 { if(i==0) break; if(st[i]==' '&&st[i-1]==' ') { s=st[i]; for(j=i;j>=0;j--) { if(j==0) break; st[j]=st[j-1]; } st[j]=s; } } i=0; while(st[i]==' ') { i++; } //i=i+1; string str(st); str.erase(0,i); cout<<"调整后的句子为:"<<str<<endl; //输出调整后的语句 //i=0; //h[i]=0; cout<<"要查询?(y/n):"; //查询 cin>>s; while(s=='y') { i=0; h[i]=0; cout<<"请输入要查询的单词:"; cin>>z; c=strlen(z); while(i<n) { if(i==0) h[i]=str.find(z,0); else h[i]=str.find(z,h[i-1]+1); if(h[i]==-1) break; i++; } cout<<"出现的次数:"<<i<<endl; if(i!=0) { cout<<"位置为:"; //输出位置 for(j=0;j<i;j++) cout<<h[j]+1<<' '; cout<<endl; cout<<"是否要替换改单词?:(y/n)"; //替换单词 cin>>m; if(m=='y') { cout<<"请输入要替换成的单词:"; cin>>x; do { cout<<"要替换第几个:"; cin>>j; }while(j<1||j>i); str.replace(h[j-1],c,x); } } else cout<<"你要查找的单词不存在!"<<endl; cout<<"该句子变成:"<<str<<endl; cout<<"是否要继续查询?(y/n):"; cin>>s; } //h=str.find("my"); cout<<"最后的句子为:"<<str<<endl; return 0; }
包含很多调试信息!
作业的第三题!
3、用字符数组保存一个英文句子。
(1) 删除该英文句子的前导空格、后导空格、句中多余空格(单词之间只留一个空格)。
(2) 统计句中某单词出现的次数。
(3) 查找并替换某单词。
相关文章推荐
- 很恶心的一个关于字符串的题目!
- 关于取出一个字符串中字母个数的题目分析
- 黑马程序员---关于取出一个字符串中字母个数的题目分析
- 关于TextView分段截取并响应点击(或者将字符串集合拼接在在一个Textview中并分段响应)
- cocos2dx中使用的tolua关于字符串处理的一个问题
- 关于Excel操作编写的一个软件设计构思案例[连载] --如何实现从字符串中提取需要的字符并赋值给指定单元格内
- 关于字符串操作的一个小例子(递归实现)
- C关于字符串的一个小问题
- 题目描述 给定一个字符串,找出该字符串的最长回文子串。回文字符串指的就是从左右两边看都一样的字符串,如aba,cddc都是回文字符串。字符串abbacdc存在的回文子串有abba和cdc,因此它的最长
- 关于360笔试题的一个题目的以下代码执行后输出结果为()思考
- 一个关于SQL的笔试题目及解答
- 关于字符串的一个问题的解决所想到的
- 【Java面试题】17 如何把一个逗号分隔的字符串转换为数组? 关于String类中split方法的使用,超级详细!!!
- 关于C#正则表达式十万火急 截取一个字符串中的子串 高手进了呀!!!!!
- 关于在字符串中查找某一个字符的位置的方法
- 关于新手用java写题目,遇到的字符和字符串问题
- 题目:输入一个字符串,输出该字符串中字符的所有组合。举个例子,如果输入abc,它的组合有a、b、c、ab、ac、bc、abc。
- 关于将一个字符串转换为整数的问题
- 经典算法面试题目-翻转一个C风格的字符串(1.2)
- 题目描述:给定一个字符串,求出其所有可能的字符组合. 比如:abc 其所有组合是:a,b,c,ab,ac,bc,abc