题目描述:输入一段字符(由空格、字母和数字几种组成,保证开头不为空格),里面有若干个字符串,求这些字符串的长度和,并输出最长字符串内容,如果有多个输出最先出现的那个字符串。以stop作为最后输入的字符串。
本题考察的内容有多组输入,以及一些字符串函数的运用。本题的思路比较简单,就是讲每一个字符串的长度求出来,然后在比较每一个字符串的长度,并分类存储。因为一般的输入遇到空格便会停止输入,所以输入时不要用scanf,或者cin,可以用gets(),fgets(),或者getline,注意,c++中的getline不能直接给数组赋值,可以用string定义一个str,然后直接将str当做数组来用。接下来便是单词存放的问题了,我用的是二维数组,每一行存一个单词,然后列存相应的字母。在使用二维数组时,可以直接以一维数组形式读取单词。例如:
m y n a m e i s A m y
这是在二维数组中存放时的形式,a[0]=“my”;a[1]=“name”;像这样便能实现单词的读取。
最后补充一点,记得数组使用后的及时清零,以及变量的清零。
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
char str[1000];
char word[1000][200];
char word2[1000][200];
int geshu[1000];