二维数组统计单词个数

题目:读取几行文本(不超过五行,每行不超过20个字符,且每行行首可能有空格,单词之间得空格可以多于一个,每行末尾可能有多个空格),编写函数,统计单词出现得次数
思路:(这道题困扰了我许久,我一直对于二维字符数组不太感冒,一直也做不出来。今天终于做出来了。所以发博客纪念一下。)我先输入一个n,用来控制我一共要输入几行,然后用一个scanf来接受那个换行符。再然后就用gets连续一整行读取输入的字符串。接下来的分割单词,按一行一行的字符串进行分割。第一个大while用来判断是不是到字符串的末尾了。J是每一行字符串中每一个字符的下标。第二个字符串用来判断开头输入的是不是空格,如果是的话,就跳过一个字符们也就是j++。
如果不是空格也不是字符串末尾,那就开始分割字符串,程序查到的每一个字符存到一个新的字符串里面。在跟str2进行较。str2就是存储米一个单词用的字符串数组。用strcmp函数进行比较,如果相同的话,就在对应的一维数组的计数器上面加一。然后把flag赋值成0,flag为0表示单词相同,为1表示不同。所以当flag为一的时候,把这个新单词复制到str2数组里面去。最后一个while判断是不是空格,是空格就跳一个字符串。最后输出就好了。count就是单词的个数

# include
# include 
using namespace std;
int main (void)
{
   
	char str[5][20],str1[20],str2[50][20];
	int n,flag=1,num[

你可能感兴趣的:(字符串,算法)