第六题:
#include<iostream>
using namespace std;
int main()
{
char s[50];
cout << "Please input a expression/n" << endl;
cin >> s ;
int sLen=strlen(s);
int n=0;
for(int i = 0;i!=sLen-1;++i)
if('>'==s[i] && '='==s[i+1])
n++;
cout<<"There's "<<n<<" /">=/" in this expression"<<endl;
return 0;
}
本题,如果想一劳永逸地解决字符串长度问题,可以这么写,同一个算法:
#include<iostream>
#include<string>
using namespace std;
int main()
{
string s;
cout << "Please input a Expression" << endl;
cin >> s;
int sLen=s.length();
int n=0;
for(int i=0;i<sLen-1;++i)
if('>'==s[i] && '='==s[i+1])
n++;
cout<<"The expression you input has "<<n<<" /">=/""<<endl;
return 0;
}
Well,当然也可以用更“C++”的方式解决这个问题:
#include<iostream>
#include<string>
using namespace std;
int main()
{
string s;
cout << "Please input a Expression" << endl;
cin >> s;
string::size_type pos=0;//search from beginning
int n=0;
string target(">=");
while((pos=s.find(target,pos))!=string::npos){
n++;
pos++;
}
cout<<"The expression you input has "<<n<<" /">=/""<<endl;
return 0;
}
不过考虑到其中的函数调用,效率会略低一点啦。
#include<iostream>
using namespace std;
int main()
{
char s[50];
cout << "Please input a expression/n" << endl;
cin >> s ;
int sLen=strlen(s);
int n=0;
for(int i = 0;i!=sLen-1;++i)
if('>'==s[i] && '='==s[i+1])
n++;
cout<<"There's "<<n<<" /">=/" in this expression"<<endl;
return 0;
}
本题,如果想一劳永逸地解决字符串长度问题,可以这么写,同一个算法:
#include<iostream>
#include<string>
using namespace std;
int main()
{
string s;
cout << "Please input a Expression" << endl;
cin >> s;
int sLen=s.length();
int n=0;
for(int i=0;i<sLen-1;++i)
if('>'==s[i] && '='==s[i+1])
n++;
cout<<"The expression you input has "<<n<<" /">=/""<<endl;
return 0;
}
Well,当然也可以用更“C++”的方式解决这个问题:
#include<iostream>
#include<string>
using namespace std;
int main()
{
string s;
cout << "Please input a Expression" << endl;
cin >> s;
string::size_type pos=0;//search from beginning
int n=0;
string target(">=");
while((pos=s.find(target,pos))!=string::npos){
n++;
pos++;
}
cout<<"The expression you input has "<<n<<" /">=/""<<endl;
return 0;
}
不过考虑到其中的函数调用,效率会略低一点啦。