输入字符串个数,在输入各个字符串中单词个数,求各个字符创中sheep的个数,区分大小写
详细见code:
#include<iostream>
#include<string>
using namespace std;
int OccurNUM(char*str)//字符型指针进行引用传递
{
int flag =1;
char*pat="sheep";
for(int i =0;i<5;i++)
{
if(str[i]!=pat[i])
flag=0;
}
return flag;
}
int main()
{
int num;
cin>>num;
for(int i=1;i<=num;++i)
{
int in_num,oc_num;
oc_num =0;
cin>>in_num;
while(in_num--)
{
char str[5];//定义一个字符数组
//可用于存放字符序列或字符串 刚好每次需要存放5个字符串
cin>>str;
if(OccurNUM(str))//这个是用来比较单个字符串,每输入一个字符串 比较一次
oc_num++;
if(in_num==0)//停止输入时则输出统计的个数
cout<<"case"<<i<<":this list contains "<<oc_num<<" sheep"<<endl;
}
}
return 0;
}
强调:
string str[2]; //定义一个字符串数组,它包含2个字符串元素
string str[2]={″ha″,″li″};关于字符串数组的几点说明:
- 在一个字符串数组中包含若干个(现为2个)元素,每个元素相当于一个字符串变量。
- 并不要求每个字符串元素具有相同的长度,即使对同一个元素而言,它的长度也是可以变化的,当向某一个元素重新赋值,其长度就可能发生变化。
- 在字符串数组的每一个元素中存放一个字符串,而不是一个字符,这是字符串数组与字符数组的区别。如果用字符数组存放字符串,一个元素只能存放一个字符,用一个一维字符数组存放一个字符串。
- 每一个字符串元素中只包含字符串本身的字符而不包括′\0′
这里使用的是字符数组,每次进来一个字符串比较一次,当达到输入的数量时,则输出相同字符串的个数