文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>标准C++输入输出和字符串类学习小程序集锦

标准C++输入输出和字符串类学习小程序集锦

时间:2011-06-12  来源:涵曦

【声明】本博客内容可以随意转载,但请您注明出处: http://www.cnblogs.com/hanxi/

代码可能有很多不足之处或有错误,还望各路朋友们指点指点。

1.计算一个字符串在另一个字符串中出现的次数

程序思想:调用find函数查找子串,找到一个就记录一次,并接着往下找,直到找不到为止。

/*函数作用:用来计算一个字符串在另一个字符串中出现的次数*/

#include
<string>
using std::string;
int count_str(string maxstr, string minstr)
{
int count = 0;
int i = 0;
while ((i = maxstr.find(minstr,i)) != string::npos)
{
count
++;
i
+= minstr.size();
}
return count;
}

下面是一个测试程序:

#include <iostream>
using namespace std;
int count_str(string maxstr, string minstr);
int main()
{
string maxstr = "desdfdesdfdefgd";
string minstr = "de";
int num = count_str(maxstr, minstr);
cout
<< "出现了" << num << "" << endl;
}

编译过程和结果:

 $ g++ findstr.cpp main.cpp -o main

 $ ./main

出现了3次

2.接受月份的数字,返回这个月份的名字:

程序思想:使用字符串s存放1到12月的英文单词,每个单词用逗号隔开,首尾也加逗号,然后进入一个循环判断该月是那一个月,判断过程中,

j存储月份名字开始字母的位置,i存放该月份名字后面的逗号的位置,找到月份的单词后就退出循环,最后返回字串。

/*数字转月份的名字*/

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

string monthname(int monthnum)
{
string s=",January,February,March,April,May,June,July,August,Spetember,October,November,December,";
int count = 0;
int i=0,j=0;
do
{
j
= i;//j存储月份名字开始字母的位置,i存放该月份名字后面的逗号的位置
i = s.find(",",i+1);
count
++;
}
while (count != monthnum);
return s.substr(j+1,i-j-1);
}

测试程序代码:

//monthnametext.cpp
#include <iostream>
using namespace std;
string monthname(int monthnum);
int main()
{
int num = 1;
for (;num<=12;num++)
{
cout
<< monthname(num) << endl;
}
}

编译过程和结果:

 $  g++ monthname.cpp monthnametext.cpp -o m
$ .
/m

January
February
March
April
May
June
July
August
Spetember
October
November
December

相关阅读 更多 +
排行榜 更多 +
试着飞手游下载

试着飞手游下载

休闲益智 下载
血染小镇(功能菜单)中文版下载

血染小镇(功能菜单)中文版下载

飞行射击 下载
泰坦之旅高爆版下载

泰坦之旅高爆版下载

角色扮演 下载