#include <iostream> #include <fstream> #include <cstring> #include <string> using namespace std; int main() { char st[100],a,k,b[20],c[20]; int n,j=0,i,m,h[10]; ofstream out_file("e://sh.txt",ios::out); if(!out_file) exit(-1); cout<<"请输入一段英文句子:"; gets(st); n=strlen(st); a='a'; while(a>='a'&&a<='z') { for(i=0;i<n;i++) { if(st[i]==a||st[i]==a-32) j++; } cout<<a<<"的个数是:"<<j<<endl; a++; j=0; } string st1(st); cout<<"是否要查找?(y/n):"; cin>>a; while(a=='y') { i=0; h[i]=0; cout<<"请输入要查找的单词:"; cin>>b; m=strlen(b); while(i<n) { if(i==0) h[i]=st1.find(b,0); else h[i]=st1.find(b,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>>k; if(k=='y') { cout<<"请输入要替换成的单词:"; cin>>c; do { cout<<"要替换第几个:"; cin>>j; }while(j<1||j>i); st1.replace(h[j-1],m,c); } } cout<<"是否要继续查询:(y/n)"; cin>>a; } //for(i=0;i<n;i++) //strcpy(st,st1); cout<<"最后的句子为:"<<st1<<endl; out_file<<st1; out_file.close(); return 0; } 4、用文件保存一段英文文本。 (1) 统计各字母在文本中出现的次数(忽略大小写)。 (2) 查找并替换文本中的某字符串,将替换后的文本存入另一个文件。 string类很强大!